默認情況下,腳本中的語句從第一個到最後一個按順序執行。如果處理邏輯需要,可以通過兩種方式改變順序流程:
Python 使用if
關鍵字實現決策控制。Python 有條件執行塊的語法如下:
Syntax:
if [boolean expression]:
statement1
statement2
...
statementN
任何評估為True
或False
的布爾表達式都會出現在if
關鍵字之後。使用:
符號,並在表達式後按回車鍵,以增加的縮進開始一個塊。一個或多個以相同縮進級別編寫的語句將被執行if
布爾表達式的計算結果為True
。
要結束塊,請減少縮進。塊後的後續語句將在if
條件之外執行。 以下示例演示了if
條件。
Example: if Condition
price = 50
if price < 100:
print("price is less than 100")
Output
price is less than 100
在上例中,表達式price < 100
的計算結果為True
,因此它將執行該塊。 if
塊從:
之後的新行開始,並且if
條件下的所有語句都以增加的縮進開始,無論是空格還是製表符。 以上,if
塊只包含一條語句。下面的示例在 if 條件中有多個語句。
Example: Multiple Statements in the if Block
price = 50
quantity = 5
if price*quantity < 500:
print("price*quantity is less than 500")
print("price = ", price)
print("quantity = ", quantity)
Output
price*quantity is less than 500
price = 50
quantity = 5
上圖中,if 條件包含多個縮進相同的語句。如果所有語句都不在同一個縮進中,無論是空格還是製表符,那麼它都會引發IdentationError
。
Example: Invalid Indentation in the Block
price = 50
quantity = 5
if price*quantity < 500:
print("price is less than 500")
print("price = ", price)
print("quantity = ", quantity)
Output
print("quantity = ", quantity)
^
IdentationError: unexpected indent
與if
條件具有相同縮進級別的語句將不在 if 塊中考慮。他們會考慮退出if
狀態。
Example: Out of Block Statements
price = 50
quantity = 5
if price*quantity < 100:
print("price is less than 500")
print("price = ", price)
print("quantity = ", quantity)
print("No if block executed.")
Output
No if block executed.
下面的示例演示了多個 if 條件。
Example: Multiple if Conditions
price = 100
if price > 100:
print("price is greater than 100")
if price == 100:
print("price is 100")
if price < 100:
print("price is less than 100")
Output
price is 100
請注意,每個if
塊包含不同縮進的語句,這是有效的,因為它們彼此不同。
*Note*It is recommended to use 4 spaces or a tab as the default indentation level for more readability. *## 其他條件
如果if
條件中的布爾表達式計算結果為False
,則else
條件可以與if
語句一起用於定義要執行的替代語句塊。
Syntax:
if [boolean expression]:
statement1
statement2
...
statementN
else:
statement1
statement2
...
statementN
如前所述,縮進塊從:
符號之後開始,在布爾表達式之後。當條件為True
時執行。 當if
條件為False
時,我們還有另一個塊需要執行。 首先用退格完成if
塊並寫else
,在新塊前面加上:
符號開始,並在塊中加上所需語句。
Example: else Condition
price = 50
if price >= 100:
print("price is greater than 100")
else:
print("price is less than 100")
Output
price is less than 100
在上面的例子中,如果條件price >= 100
是False
,那麼將執行else
塊。else 塊還可以包含多個縮進相同的語句;否則會升高IndentationError
。
注意不能有多個else
塊,必須是最後一個塊。
elif 條件
使用elif
條件用於在if
條件之後或在if
和else
條件之間包含多個條件表達式。
Syntax:
if [boolean expression]:
[statements]
elif [boolean expresion]:
[statements]
elif [boolean expresion]:
[statements]
else:
[statements]
如果指定條件評估為True
,則執行elif
塊。
Example: if-elif Conditions
price = 100
if price > 100:
print("price is greater than 100")
elif price == 100:
print("price is 100")
elif price < 100:
print("price is less than 100")
Output
price is 100
在上例中,elif
條件在if
條件之後應用。 Python 將評估if
條件,如果評估為False
,則評估elif
塊並執行表達式評估為True
的elif
塊。 如果多個elif
條件變為True
,則執行第一個elif
塊。
以下示例演示 if
、elif
、else
條件。
Example: if-elif-else Conditions
price = 50
if price > 100:
print("price is greater than 100")
elif price == 100:
print("price is 100")
else price < 100:
print("price is less than 100")
Output
price is less than 100
所有的 if
、elif
、else
條件必須從相同的縮進級別開始,否則會提升IndentationError
。
Example: Invalid Indentation
price = 50
if price > 100:
print("price is greater than 100")
elif price == 100:
print("price is 100")
else price < 100:
print("price is less than 100")
Output
elif price == 100:
^
IdentationError: unindent does not match any outer indentation level
嵌套的 if、elif、else 條件
Python 支持嵌套的 if
、elif
、else
條件。內部條件必須比外部條件具有更大的縮進,並且一個塊下的所有語句都應該具有相同的縮進。
Example: Nested if-elif-else Conditions
price = 50
quantity = 5
amount = price*quantity
if amount > 100:
if amount > 500:
print("Amount is greater than 500")
else:
if amount < 500 and amount > 400:
print("Amount is")
elif amount < 500 and amount > 300:
print("Amount is between 300 and 500")
else:
print("Amount is between 200 and 500")
elif amount == 100:
print("Amount is 100")
else:
print("Amount is less than 100")
Output
Amount is between 200 and 500
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129671.html