测试对象是否为 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。