我已经提到了关于这个错误的其他问题,但似乎找不到适合我的案例的解决方案。
a = function(x)
b = function(y)
if a == None:
print("Invalid a")
if b == None
print("Invalid b")
if a > b:
print("Review")
Error: '>' not supported between instances of 'NoneType' and 'int'
根据我的研究,我理解这个错误意味着什么,但我不确定如何修复它。任何帮助都将不胜感激。
作为if/else
语句的替代方案,我建议使用try/except
块,如果通常不满足except
条件,它应该会稍微高效一些。
此外,根据PEP 8,与None的比较应使用is
或is not
,而不是==
和!=
。
a = 21
b = None
try:
if a > b:
print("Review")
except TypeError:
if a is None:
print("Invalid a")
elif b is None:
print("Invalid b")
else:
raise
您可以使用elif
:
a = function(x)
b = function(y)
if a == None:
print("Invalid a")
elif b == None
print("Invalid b")
elif a > b:
print("Review")
否则,a
或b
仍然有可能是None
,因为代码中的所有比较都是相互独立的。