You'll often want to assign something to an object if it is None
, indicating it has not been assigned. We'll use aDate
.
The simplest way to do this is to use the is None
test.
if aDate is None:
aDate=datetime.date.today()
(Note that it is more Pythonic to say is None
instead of == None
.)
But this can be optimized slightly by exploiting the notion that not None
will evaluate to True
in a boolean expression. The following code is equivalent:
if not aDate:
aDate=datetime.date.today()
But there is a more Pythonic way. The following code is also equivalent:
aDate=aDate or datetime.date.today()
This does a Short Circuit evaluation. If aDate
is initialized and is not None
, then it gets assigned to itself with no net effect. If it is None
, then the datetime.date.today()
gets assigned to aDate
.