In Python, |
is a bitwise or. You want to use a logical or here:
if (cts is None) or (len(cts) == 0):
return
题
I'm trying to check whether an object has a None type before checking it's length. For this, I've done an if statement with an or operator:
if (cts is None) | (len(cts) == 0):
return
As far as I can tell, the object cts
will be checked if it's None, and if it is, the length check won't run. However, the following error happens if cts
is None:
TypeError: object of type 'NoneType' has no len()
Does python check both expressions in an if statement, even if the first is true?
解决方案
In Python, |
is a bitwise or. You want to use a logical or here:
if (cts is None) or (len(cts) == 0):
return
其他提示
You can also use -
if not cts: return