Python—三目運算


Python 可通過 if 語句來實現三目運算的功能,因此可以近似地把這種 if 語句當成三目運算符。作為三目運算符的 if 語句的語法格式如下:
(True_statements) if (expression) else (False_statements)
三目運算的規則是:先對邏輯表達式 expression 求值,如果邏輯表達式返回 True,則執行並返回 True_statements 的值;如果邏輯表達式返回 False,則執行並返回 False_statements 的值。


舉個栗子:

>>> isinput = True if input('input: ') else False
input: 996ICU
>>> isinput
True
>>> isinput = True if input('input: ') else False
input: 
>>> isinput
False

三目運算簡化寫法:
變量 = 值1 or 值2類似於變量 = 值1 if 值1 else 值2
 
再來個栗子:

>>> content = input('input: ') or 'nothing'
input: 996ICU
>>> content
'996ICU'
>>> content = input('input: ') or 'nothing'
input: 
>>> content
'nothing'

 


應用在print函數:

a = 996
b = 666
str_ = '996' if a < b else '666'
print(str_)
print('996' if True else 'icu')
print('996') if False else print('icu')
666
996
icu

 


Python允許在三目運算符的 True_statements 或 False_statements 中放置多條語句。
Python 主要支持以下兩種放置方式:
1.多條語句以英文逗號隔開:每條語句都會執行,程序返回多條語句的返回值組成的元組。

>>> str_ = print('996'), 'True' if 5 > 0 else 'False', 'icu'
996
>>> str_
(None, 'True', 'icu')

2.多條語句以英文分號隔開:每條語句都會執行,程序只返回第一條語句的返回值。

>>> str_ = 'icu'; st = 'True' if 5 > 10 else print('ICU')
ICU
>>> str_
'icu'
>>> print(st)
None

 


嵌套三目運算

print('aaa') if True else (print('bbb') if False else print('ccc'))
print('aaa') if False else (print('bbb') if False else print('ccc'))
aaa
ccc


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM