2
A
回答
16
你會使用elif
當你想確保只有一個分支選擇的是:
foo = 'bar'
spam = 'eggs'
if foo == 'bar':
# do this
elif spam == 'eggs':
# won't do this.
與比較:
foo = 'bar'
spam = 'eggs'
if foo == 'bar':
# do this
if spam == 'eggs':
# *and* do this.
只需if
報表時,選項不是唯一的。
這也適用於當if
分支改變程序狀態,使得elif
測試也許是真的太:
foo = 'bar'
if foo == 'bar':
# do this
foo = 'spam'
elif foo == 'spam':
# this is skipped, even if foo == 'spam' is now true
foo = 'ham'
這裏foo
將被設置爲'spam'
。
foo = 'bar'
if foo == 'bar':
# do this
foo = 'spam'
if foo == 'spam':
# this is executed when foo == 'bar' as well, as
# the previous if statement changed it to 'spam'.
foo = 'ham'
現在foo
設置爲'spam'
,然後'ham'
。
從技術上講,elif
是(化合物)if
聲明的一部分;蟒挑選在一系列if
/elif
分支,測試爲真,或else
分支第一試驗(如果存在的話),如果沒有爲真。使用單獨的if
語句開始一個新的選擇,獨立於之前的if
複合語句。
2
itertools.count
是發電機,讓你每次它被稱爲一次新的價值,所以它是爲了說明這種東西是有用的。
from itertools import count
c = count()
print(next(c)) # 0
print(next(c)) # 1
print(next(c)) # 2
if True:
print(next(c)) # 3
if True:
print(next(c)) # 4
elif True:
print(next(c)) # … not called
print(next(c)) # 5
的最後一個值必須是6爲elif
是相同if
。但發電機也可能會「用完」,這意味着您需要能夠避免兩次檢查它們。
if 6 == next(c):
print('got 6') # Printed!
if (7 == next(c)) and not (6 == next(c)):
print('got 7') # Also printed!
是不一樣的
if 9 == next(c):
print('got 9') # printed
elif 10 == next(c):
print('got 10') # not printed!
相關問題
- 1. 如果和ELIF不打印
- 2. 的Python:如果ELIF
- 3. Bash腳本如果elif elif不工作
- 4. Python如果/ Elif/Else,For和列表
- 5. 猛砸如果elif和else從句
- 6. Python如果elif代碼
- 7. 如果... Elif ...其他流程
- 8. Bash如果阻止elif
- 9. Python - 如果,elif語句
- 10. 語法錯誤在Python與數組和循環與如果ELIF?
- 11. 如何嵌入如果和ELIF與tkinter小部件
- 12. 如果鏈接中包含的鏈接
- 13. 角JS NG-如果鏈路
- 14. 如果鏈接匹配子
- 15. Yii - 如果當前頁面與鏈接相同,如何與類建立鏈接?
- 16. 嵌套如果;如何進入下一個ELIF從真如果
- 17. 如何檢查SwiftyJSON如果鏈接
- 18. 如果ELIF別的工作不
- 19. 語法錯誤,如果... ELIF ......否則
- 20. 如果Python中的Elif語句爲
- 21. 複合如果elif else語句+ python
- 22. 蟒蛇如果ELIF else語句
- 23. bash腳本,如果elif的語句
- 24. Python條件不適用(如果/ elif)
- 25. 如果在Python中的elif else語句
- 26. 如果鏈接可用,我該如何創建鏈接?
- 27. 如果該鏈接鏈接到當前頁面,則鏈接到目標鏈接?
- 28. Coffeescript:如何鏈接div,但如果子鏈接被點擊,則覆蓋鏈接
- 29. Search.php鏈接結果
- 30. 鏈接效果OnMouseOver
'elif'是沒有必要的,這是語法糖。 – Hyperboreus
它不會這樣做。提示:「el」代表「其他」。 – juanchopanza
@Hyperboreus這顯然是錯誤的,你最好刪除你的評論。 – PascalVKooten