Python 三目運算

2022-08-26 08:24:13 字數 1864 閱讀 9261

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

996icu

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

Python 三目運算

python 可通過 if 語句來實現三目運算的功能,因此可以近似地把這種 if 語句當成三目運算子。作為三目運算子的 if 語句的語法格式如下 true statements if expression else false statements 三目運算的規則是 先對邏輯表示式 expressi...

Python 三目運算

python 可通過 if 語句來實現三目運算的功能,因此可以近似地把這種 if 語句當成三目運算子。作為三目運算子的 if 語句的語法格式如下 true statements if expression else false statements 三目運算的規則是 先對邏輯表示式 expressi...

python 三目運算

首先確定三目運算的使用條件,if只有兩個才能用三目 只有 if else 先寫個if else的小例子 if push lpush self.conn.lpush self.key,list elif push rpush self.conn.lpush self.key,list 那麼運用三目運算...