測試物件是否為 None 並分配它

如果物件是 None,則通常需要為物件指定一些內容,表示尚未分配物件。我們將使用 aDate

最簡單的方法是使用 is None 測試。

if aDate is None:
    aDate=datetime.date.today()

(注意說 is None 而不是 == None 更像 Pythonic。)

但是,通過利用 not None 將在布林表示式中評估為 True 的概念,可以略微優化這一點。以下程式碼是等效的:

if not aDate:
    aDate=datetime.date.today()

但是有更多的 Pythonic 方式。以下程式碼也是等效的:

aDate=aDate or datetime.date.today()

這是一個短路評估 。如果 aDate 被初始化並且是 not None,則它被分配給自己而沒有淨效應。如果它是 is None,則 datetime.date.today() 被分配給 aDate