一、條件測試
每條if語句的核心都是一個值爲True或False的表達式,這種表達式稱爲條件測試。
①檢查是否相等
②檢查是否相等時不考慮大小寫
③檢查是否不相等
④比較數字
⑤檢查多個條件
- 使用and檢查多個條件
- 使用or檢查多個條件
⑥檢查待定值是否包含在列表中
⑦檢查特定值是否不包含在列表中
⑧布爾表達式
二、if語句
1、簡單if語句
2、if-else語句
age = 17
if age >= 18:
print("You are old enough to vote!")
print("Hava you registered to vote yet?")
else:
print("Sorry,you are too young to vote.")
print("Please registered to vote as soon as you turn 18!")
結果:
3、if-elif-else結構
age = 12
if age < 4:
print("Your admission cost is $0.")
elif age < 18:
print("Your admission cost is $5.")
else:
print("Your admission cost is $10.")
結果:
4、使用多個elif代碼塊
age = 12
if age < 4:
price = 0
elif age < 18:
price = 15
elif age < 65:
price = 10
else:
price = 5
print("Your adminssion cost is $" + str(price) +".")
結果:
5、省略else代碼塊
Python並不要求if-elif結構後面必須有else代碼塊。有些情況下,else代碼塊很有用;而在其他一些情況下,使用一條elif語句來處理特定的情形更清晰。
age = 12
if age < 4:
price = 0
elif age < 18:
price = 15
elif age < 65:
price = 10
elif age>=65:
price = 5
print("Your adminssion cost is $" + str(price) +".")
else是一條包羅萬象的語句,只要不滿足任何if或elif中的條件測試,其中的代碼會執行,這個可能會引入無效甚至惡意數據。如果知道最終要測試的條件,應考慮使用一個elif代碼塊來代替else代碼塊。這樣,你就可以肯定,僅當滿足相應條件時,你的代碼纔會執行。
6、測試多個條件(列表——in)
if-elif-else結構功能強大,但僅適用於只有一個條件滿足時的情況。然而,有時候必須檢查你關心的所有條件,適合使用這種方法。
requested_toppings = ['mushrooms','extra cheese']
if 'mushrooms' in requested_toppings:
print("Adding mushrooms.")
if 'pepperoni' in requested_toppings:
print("Adding pepperoni")
if 'extra cheese' in requested_toppings:
print("Adding extra cheese.")
print("\nFinished making your pizza!")
結果:
總之,如果你只想執行一個代碼塊,就使用if-elif-else結構;如果要運行多個代碼塊,就使用一系列獨立的if語句。
三、使用if語句處理列表
通過結合使用if語句和列表,可以完成一些有趣的任務:對列表中特定的值做特殊處理;高效地管理不斷變化的情形,如餐館是否還有特定的食材;證明代碼在各種情形下都將按預期那樣運行。
1、檢查特殊元素
requested_toppings = ['mushrooms','green peppers','extra cheese']
for requested_topping in requested_toppings:
if requested_topping == 'green peppers':
print("Sorry,we are out of green peppers right now.")
else:
print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")
結果:
2、確定列表不是空的
requested_toppings = []
if requested_toppings:
for requested_topping in requested_toppings:
print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")
else:
print("Are you sure you want a plain pizza?")
結果:
3、使用多個列表
available_toppings = ['mashrooms','olives','green peppers',
'pepperoni','pineapple','extra cheese']
requested_toppings = ['mashrooms','french fries','extra cheese']
for requested_topping in requested_toppings:
if requested_topping in available_toppings:
print("Adding " + requested_topping + ".")
else:
print("Sorry,we don't hava " + requested_topping + ".")
print("\nFinished making your pizza!")
結果:
四、設置if語句的格式
PEP 8提供的唯一建議是,在諸如==、>=和<=等比較運算符兩邊各添加一個空格。
例如,if age < 4:要比 if age<4:好。