是否有實現這個邏輯更Python的方式:檢查無,假,真
res = func()
if res is not None: # res is either True, False, something else
if res is True:
#do something # res is True
elif res is False:
#do something else # res is False
else:
#do something else2 # res is not in [True,False]
else:
#failed # res is None
對於三態,我會說使用一張地圖是矯枉過正的。將所有內容都轉換爲函數的方式當然不會更具可讀性。如果'res'既不是'None'或布爾對象(在這種情況下你會得到一個異常),你也不會解決應該發生什麼。這可能是可取的,但請明確討論。 –
處理'do_something'函數返回的None情況。由於OP已經編輯了向其他條件的第一個if語句添加附加條件,所以我們可以在'get()'' –
'處使用* default *函數更好,但我不會稱之爲Pythonic。 –