if not A
和if A is None
看起来都是在判断A
是否为空,实际上这两者是不同的:
(1)if not A
判断的是A
是否为空,也就是说里面有东西没?
(2)if A is None
则判断的是A
是否声明并定义了?- 举个例子就懂了:
>>> A = []
>>> A is None
False # 因为A已经定义了,无论有无东西
>>> not A
True # A中为空
if not A
和 if A is None
看起来都是在判断A
是否为空,实际上这两者是不同的:if not A
判断的是A
是否为空,也就是说里面有东西没?if A is None
则判断的是A
是否声明并定义了?>>> A = []
>>> A is None
False # 因为A已经定义了,无论有无东西
>>> not A
True # A中为空