PEP8 的建议:函数中的所有 return 语句要么都应该返回一个表达式,要么都不应该返回。 如果任何 return 语句返回一个表达式,则任何不返回值的 return 语句都应显式地将其声明为 return None,并且在函数末尾应存在显式的 return 语句(如果可到达):
# 正确:
def foo(x):
if x >= 0:
return math.sqrt(x)
else:
return None
def bar(x):
if x < 0:
return None
return math.sqrt(x)
# 错误:
def foo(x):
if x >= 0:
return math.sqrt(x)
def bar(x):
if x < 0:
return
return math.sqrt(x)