在这里插一句话,我有两个好兄弟的github项目,感兴趣的可以去看一下,star一下,谢谢。
https://github.com/fliggyaa/fscanpoc
https://github.com/R0A1NG/Botgate_bypass
四、Python的程序结构与函数
4.1 Python的分支结构
(1)单分支结构
单分支结构指的是只有一个分支的情况,通常使用if语句。
语法格式如下:
if condition:
#在条件成立时执行的代码块
若if语句后的判断条件成立,则执行后面的语句块,若条件不成立,则跳过该语句块,单分支结构中的语句块只有执行和跳过两种情况。
(2)二分支结构
二分支结构是指有两个分支的情况,通常使用if-else语句。
语法格式如下:
if condition:
<语句1>#在条件成立时执行的代码块
else:
<语句2>#在条件不成立时执行的代码块
若if语句中的判断条件成立,则执行if语句后的语句块1,若条件不成立,则跳过if语句后的语句块1,执行else后的语句块2.
4.2 循环结构
Python的循环结构分为for循环和while循环两种。其中for循环确定循环次数,称为遍历循环,循环次数采用遍历结构中的元素个数来体现。
while循环不确定循环次数,称为无限循环,不能明确循环体可能的执行次数,而是通过条件判断是否继续执行循环体。
(1)遍历循环:for循环
for循环通常用于对序列(列表、元组、字符串等)进行遍历。
语法格式如下:
for <循环变量> in <遍历结构>:
<语句块>
for语句中的循环执行次数是根据遍历结构中的元素个数确定的,遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于所提取的每个元素执行一次<语句块>。<循环变量>用于保存本次循环访问的遍历结构中的元素。<遍历结构>可以是字符串、文件、组合数据类型或range()函数等。
(2)无限循环:while循环
无限循环(条件循环):应用在执行之初无法确定遍历次数,需要编程语言提供根据条件进行循环的语法。当循环条件不满足才结束,不需要提前知道循环次数。
while循环在指定条件为真的情况下,重复执行代码块。
(3)循环保留字
循环结构在条件满足时可以一直执行,但在一些特殊情况下,程序需要终止循环。跳出循环结构。
python提供了两个循环有关的保留字:break和continue,用它们来辅助控制循环执行。
break:用于跳出循环,即使循环条件仍然为真。
continue:用于跳过当前迭代的剩余代码,进入下一次循环迭代。
continue与break的区别在于continue是结束本次循环,继续下一轮循环判断,而不是终止整个循环的执行:break语句是结束整个循环过程,不再判断循环的条件是否成立,continue的使用方式与break相同。
4.3 异常处理
异常是程序正常执行过程中出现的不正常情况,该情况影响了程序的正常执行。
异常处理是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况,即超出程序正常执行流程的某些特殊条件。
Python提供了两个非常重要的功能来处理程序在运行中出现的异常和错误,经常使用的是try…except语句,拓展一下就是try-except-else-finally,另一个是raise抛出异常,除了这几种方法,还可以自定义异常处理方法。
常见的异常错误
-
SyntaxError(语法错误)
- 代码中存在语法错误,如拼写错误、缺少冒号等。
-
IndentationError(缩进错误)
- 缩进不正确,导致代码块无法正确执行。
-
NameError(名称错误)
- 使用了未定义的变量或函数名。
-
TypeError(类型错误)
- 变量类型不符合操作要求,如对整数和字符串进行相加操作。
-
ValueError(数值错误)
- 变量值不符合操作要求,如将无法转换为整数的字符串转换为整数。
-
ZeroDivisionError(除零错误)
- 尝试对一个数进行除零操作。
-
IndexError(索引错误)
- 尝试访问超出索引范围的列表元素。
-
KeyError(键错误)
- 尝试访问字典中不存在的键。
常见的异常处理方法
-
try-except语句
try: # 可能会引发异常的代码块 except ExceptionType: # 异常处理代码块
-
try-except-else语句
try: # 可能会引发异常的代码块 except ExceptionType: # 异常处理代码块 else: # 没有异常发生时执行的代码块
-
try-except-finally语句
try: # 可能会引发异常的代码块 except ExceptionType: # 异常处理代码块 finally: # 无论是否发生异常都会执行的代码块
-
自定义异常
class CustomError(Exception): def __init__(self, message): self.message = message