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