首页 > 编程语言 >Python 基础:编程概念

Python 基础:编程概念

时间:2024-08-22 20:29:42浏览次数:12  
标签:变量 错误 Python 代码 编程 概念 OOP IDE

在黑客和网络安全领域,这通常意味着 BASH 和 Python 脚本。Python 脚本在网络安全专业人士中最受欢迎,因为它拥有丰富的库和模块,可用于网络安全(你可以使用任何编程语言进行网络安全,但如果有人已经用 Python 等语言编写了轮子,那么你的生活就会轻松得多)。如果你检查 Kali 中的工具,你会发现超过 90% 都是用 Python 编写的。因此,我强烈建议你至少掌握一些粗略的 Python 技能。

在开始使用 Python 之前,我想花一点时间来让您熟悉一些关键的编程概念,这些概念将有助于您掌握任何编程语言,并且希望在您开始使用 Python 成为网络战士的旅程时能够有所帮助。

变量

变量只是存储值的地方。变量使您能够创建一个存储位置,然后在程序运行时更改(变化)这些值,而不是永远不变的静态值。

编写程序时,通常必须先声明变量,然后才能使用它们。声明变量类似于简单地说“我希望这是一个变量”。一旦您这样做,系统就会为将要放入变量的值保留内存。

通常,您可以通过使用字母、数字和下划线创建名称来创建(声明)变量。这些变量可以以下划线或字母开头,但不能以数字开头。

变量的类型包括:

常量变量-这些变量存储不会改变的数据
全局变量-这些变量可在整个程序中(全局)访问
类变量 - 这些变量只能在类内部访问(请参阅下面有关 OOP 的部分)。
实例变量 - 这些变量在类内可用,但在方法之外(请参阅下面的 OOP)
局部变量 - 这些变量只能在声明(创建)它们的类、方法、实例中访问。

控制结构

在大多数程序或脚本中,都有动作流程,步骤 1,然后步骤 2.....在流程中的点必须做出决定,例如,向右走还是向左走。控制结构是我们做出这些决定的方式。它们控制流程。该流程通常取决于变量中的值。例如,如果变量 A 小于 10,则向右转,如果变量 A 大于 10,则向左转。

这些控制结构可以分为几种一般类型:

顺序逻辑-程序按特定顺序执行
选择逻辑——这些控制结构包含确定下一步执行哪段代码的条件。
迭代逻辑——重复固定次数的一组代码或代码块

数据结构

数据结构使程序能够有效地存储和检索数据。一些常见的数据结构包括:

数组 - 数组将相似的元素存储在一起,例如有序的项目列表。使用连续的内存位置。
堆栈 - 这些是使用后进先出顺序执行指令的线性结构
队列——这也是一种线性结构,但使用先进先出的顺序来执行指令。
链表——这是一种使用指针链接元素的线性数据结构
二叉树 - 这是一种非线性结构,其节点具有两个不同的值/方向。这些可用于分层数据。
图表 - 包含相互连接的节点和边。它们通常用于表示地图和社交网络等复杂形式的数据。

面向对象编程

在深入研究 Python 之前,我们可能值得花几分钟讨论一下面向对象编程 (OOP) 的概念。Python 与当今大多数编程语言(C++、Java 和 Ruby 等)一样,遵循 OOP 模型。下图显示了 OOP 背后的基本概念:该语言的主要工具是对象,它具有属性和状态形式的属性,以及由对象执行或对对象执行的操作方法。

基于 OOP 的编程语言背后的理念是创建像现实世界中的事物一样行为的对象。例如,汽车是一个具有属性的对象,例如车轮、颜色、大小和发动机类型;它还具有方法,即汽车采取的操作,例如加速和锁门。从自然人类语言的角度来看,对象是名词,属性是形容词,方法通常是动词。对象是类的成员,类基本上是用于创建具有共享初始变量、属性和方法的对象的模板。例如,假设我们有一个名为 cars 的类;我们的汽车(宝马)将是汽车类的成员。这个类还将包括其他对象/汽车,例如梅赛德斯和奥迪

类也可以有子类。我们的汽车类有一个 BMW 子类,该子类的对象可能是 320i 型号。每个对象都有属性(品牌、型号、年份和颜色)和方法(启动、驾驶和停车),如上图所示

在 OOP 语言中,对象会继承其类的特征,因此 BMW 320i 会从类 car 继承 start、drive 和 park 方法。这些 OOP 概念对于理解 Python 和其他 OOP 语言的工作原理至关重要,正如您将在以下部分的脚本中看到的那样。

封装:封装是将数据元素(例如变量和属性以及成员方法)绑定到一个单元中。
抽象:这使您能够隐藏有关类的特定细节,并仅向外界提供必要的信息。例如,最终用户不知道 Web 服务器的工作机制,他们单击按钮并接收所需的信息。
继承:这是从现有类创建新类的能力。例如,您可以创建一个子类,该子类继承其父类的所有属性,并具有自己的一组附加属性和方法。
多态性:使用多态性,您可以使用相同的接口访问不同类型的对象,其中每个对象都提供自己的实现。

调试

调试是成为一名成功程序员的必备技能之一。这是识别和解决代码中的错误以生成可运行的脚本/程序的过程。

代码中至少有三 (3) 种类型的错误:

语法错误
逻辑错误
潜在错误

语法错误

当代码中的字符或标记序列错误且不符合编程语言的语法时,就会发生语法错误。这些错误可能包括缩进错误、缺少括号、多余的逗号和拼写错误的命令。编程工具会在编译时检测这些错误,并显示行号和错误类型以及错误描述。您可以查看错误描述并修改代码,使其遵循正确的语法。

逻辑错误

逻辑错误是指代码的算法或逻辑存在缺陷,导致程序停止执行或产生错误输出。由于代码的语法没有错误,因此您只会在运行时遇到逻辑错误。例如,错误地初始化变量可能会导致代码出现逻辑错误。

潜在错误

潜在错误,也称为隐藏错误,当您使用一组特定数据作为程序的输入时,就会出现这种情况。当您忘记考虑异常值或边缘情况时,程序可能会失败或产生错误的结果。例如,您可能创建了一个程序,它接受用户的出生日期,但不考虑最终用户可能输入错误的字符或负数。在这种情况下,程序可能会停止执行或崩溃。

编程工具

可用

集成开发环境或通常称为 IDE 的应用程序允许程序员编写、编译和执行代码。IDE 提供了一个中央界面,其中包含有助于代码完成、代码编译、调试和语法突出显示的工具。一个好的 IDE 可以让您的生活变得轻松很多!

一些 IDE 还允许您添加插件,使您能够浏览框架代码库并添加自定义类和功能。

您可以使用 IDE 来执行以下操作:

编写代码:您可以使用IDE来编写和编辑程序代码来完成一组任务。
编译代码:IDE 通过将人类可读的代码转换为计算机可理解的格式来编译代码。
调试代码:IDE 帮助您检测代码中的错误并进行修复。
监控资源:您可以监控磁盘空间、资源消耗、内存使用情况、磁盘可用空间、缓存内存等各种参数,帮助您优化代码,使其运行得更快、更高效。
构建自动化工具:一些 IDE 还为开发任务提供自动化工具。

您不需要 IDE 即可开始编码,但它们肯定能有所帮助。PyCharm 等高级 IDE 非常出色,但价格也昂贵。如果您在时间紧迫的环境中编码,PyCharm 等工具可以为您节省数百小时。否则,简单的文本编辑器就可以了,例如 vim、gedit、mousepad 和许多其他编辑器就足够了。

如果您使用 Kali Linux 工作,Kali 存储库中有一个名为 Spyder 的出色的免费 IDE。

您可以使用以下命令从 Kali 存储库下载 spyder;

kali > sudo apt 安装 spyder
或者pycharm 具体安装步骤可查看之前的文章。

标签:变量,错误,Python,代码,编程,概念,OOP,IDE
From: https://www.cnblogs.com/lusuo/p/18374673

相关文章

  • python——concurrent.futures
    concurrent.futures是Python标准库中用于并行编程的高级模块,它提供了一种高级别的接口来管理线程和进程。通过这个模块,你可以轻松地利用多线程和多进程来并行执行任务,进而提高程序的执行效率。1.concurrent.futures概述concurrent.futures提供了两种执行器类型:Thre......
  • 【精选】基于Python的热门旅游景点数据分析系统的设计与实现(南京旅游,北京旅游,旅游网站
    目录: 系统简介:  关键技术介绍2.1PYTHON语言简介2.2MySql数据库2.3DJANGO框架2.4Hadoop介绍2.5Scrapy介绍2.6B/S架构 系统总功能结构设计系统详细实现:6系统测试系统测试的目的软件测试过程测试用例为什么选择我: 博主介绍:  ✌我是阿龙,一名......
  • Python系列(7)| 命名空间、作用域
     1.命名空间(Namespace)   Python中的命名空间(Namespace)和作用域是密切相关的概念。Python命名空间(Namespace)可以视为一个字典,其中键是变量名,值是与之关联的对象。   各个命名空间是独立的,同一个命名空间中不能有重名(重名的以后一个为准),不同的命名空间是......
  • PCA原理与水果成熟状态数据分析实例:Python中PCA-LDA 与卷积神经网络CNN
    全文链接:https://tecdat.cn/?p=37450 主成分分析(PCA)作为数据科学中用于可视化和降维的重要工具,在处理具有大量特征的数据集时非常有用。就像我们难以找到时间阅读一本1000页的书,而更倾向于2到3页的总结以抓住整体概貌一样,当数据集中特征过多时,PCA可以帮助我们减少维度,提......
  • python 04-标准库:pathlib模块
    pathlib模块pathlib模块‌:是面向对象的文件系统路径操作库,提供接口来处理文件路径。Path是主类Path:Path对象表示文件或目录的路径,Path类会自动选择PosixPath或WindowsPath,具体取决于我们的操作系统......
  • Python系列(6)- Python 函数、Python 装饰器
    函数在数学上的定义:给定一个非空的数集A,对A施加对应法则f,记作f(A),得到另一数集B,也就是B=f(A),那么这个关系式就叫函数关系式,简称函数。简而言之,两个变量x和y,如果每给定x的一个值,y都有一个确定的值与其对应,那么我们就说y是x的函数。其中,x叫做自变量,y叫做因变量......
  • python03-标准库 第三方库-pathlib模块
    python标准库:Python自带的一组模块和库,这些模块和库提供了Python编程所需的基础功能和工具https://docs.python.org/zh-cn/3/library/index.html?eqid=8ca0b3ea000067990000000264800802Python包索引:即PyPI(PythonPackageIndex),是一个仓库,存放了许多可以通过pip安装的独......
  • JDBC编程
    JDBC简介:JDBC(JavaDatabaseConnectivity),即Java数据库连接。它是一种可以执行SQL语句的JavaAPI。通过JDBCAPI可连接到数据库,并使用结构化查询语句实现对数据库的查询、更新等操作。使用JDBC开发数据库应用可以跨平台运行,并且可以跨数据库。通过JDBCAPI,不必为访问Sybase、D......
  • JDK新特性:Stream流式编程
    Stream流Stream是Java8API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合(侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式)Stream流是从支持数据处理操作的源生成的元素序列,源可以是数组、文件、集合、函数。流不是集合元素,它不是数据结构并不保存......
  • Java并发编程(八)
    1、volatile有什么用?能否用一句话说明下volatile的应用场景volatile保证内存可见性和禁止指令重排。volatile用于多线程环境下的单次操作(单次读或者单次写)。2、为什么代码会重排序在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重排序,但是不能随意重排......