3 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
在最新的 Python 版本(Python 3.8)中,有一個(gè)可能對(duì)您有用的新任務(wù):=:
有一種新的語法:=可以將值作為更大表達(dá)式的一部分分配給變量。因其酷似海象的眼睛和獠牙,被親切地稱為“海象操作員”。
if (n := len(a)) > 10:
print(f"List is too long ({n} elements, expected <= 10)")
在這個(gè)例子中,賦值表達(dá)式有助于避免調(diào)用 len() 兩次:

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
盡管我不完全理解以這種方式做事的原因(這比其他任何方式都不太清楚),但這里有一個(gè)使用lambda的示例:
>>> def get_something(flag): # Added the flag argument, to mimic different return values
... return 5 if flag else None
...
>>> answer = (lambda func, arg: func(arg) if arg else None)(int, get_something(True))
>>> answer
5
>>> answer = (lambda func, arg: func(arg) if arg else None)(int, get_something(False))
>>> answer
>>>
添加回答
舉報(bào)