所屬網站分類: python基礎 > 語法,變數,運算符 作者:goodbody 鏈接: http://www.pythonheidong.com/blog/article/12/ 來源:python黑洞網 www.pythonheidong.com 很多人以為Python是沒有三元運算符的,但實際 ...
所屬網站分類: python基礎 > 語法,變數,運算符
作者:goodbody
鏈接: http://www.pythonheidong.com/blog/article/12/
來源:python黑洞網 www.pythonheidong.com
很多人以為Python是沒有三元運算符的,但實際上python是有的。
它是在2.5版本中添加的。語法是:
a if condition else b
首先condition進行求值,然後根據布爾值返回a或者b返回, 如果求值為true,則返回a,否則返回b。
例如:
>>> 'true' if True else 'false' 'true' >>> 'true' if False else 'false' 'false'
請註意,條件是表達式,而不是語句。這意味著您不能pass在條件中使用賦值或其他語句:
>>> pass if False else x = 3 File "<stdin>", line 1 pass if False else x = 3 ^ SyntaxError: invalid syntax
在這種情況下,您必須使用普通if語句而不是條件語句。
請記住,由於以下幾個原因,一些人對此感到不滿:
- 參數的順序與許多其他語言(例如C,Ruby,Java等)不同,當不熟悉Python的“驚人”行為的人使用它時(可能會顛倒順序),這可能會導致錯誤。
- 有些人認為它“笨拙”,因為它與正常的思維流程相反(首先考慮條件然後考慮影響)。
- 文體的原因。