在這里插一句話,我有兩個好兄弟的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