此代碼對我看起來像在Python有可能是這樣做的更好的方式:使返回值的簡單修正更地道的方式
val = some_heavy_foo(slow=True, side_effects=True, bar=lot_of_data)
if val is None:
val = 0
是嗎?
一個可能的使用案例:
total = 0
for lot_of_data in lots_of_data_list:
val = some_heavy_foo(slow=True, side_effects=True, bar=lot_of_data)
if val is None:
val = 0
total += val
我想在這裏使用sum()
,但當然:
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
括號的數量使得危險的樣子LISP雖然。 – chiffa 2014-09-02 21:27:10
哦,我喜歡!雖然,第一個部分'f'並不是真的必要,除了將總和保持在一行。 – frnhr 2014-09-02 21:29:07