【发布时间】:2021-06-05 16:01:43
【问题描述】:
当谈到条件的最佳实践时,推荐以下哪个示例?
def sum(arg1,arg2):
if arg1>3:
return
else:
return arg1+agr2
或
def sum(arg1,arg2):
if arg1<3:
return arg1+agr2
else:
return
提前致谢!
【问题讨论】:
-
我会使用第二个,但没有不必要的
else子句。如果您没有明确的return语句,则您的函数在到达函数末尾时会隐式返回None。 -
else在第一个中也不是必需的。如果你没有从if返回,你只会执行if之后的下一条语句,可以是return arg1 + arg2。 -
最后,我会考虑在
arg1 > 3时引发异常是否有意义,而不是让调用者记得检查None的返回值。 -
虽然,如果你关注 PEP8,
return应该是return None,并且应该包含:“如果任何 return 语句返回一个表达式,任何没有返回值的 return 语句都应该显式将此声明为 return None,并且应在函数末尾出现显式返回语句(如果可访问):"。所以这取决于你所遵循的风格指南。 -
另外,请注意这两个示例在功能上并不相同。如果
arg1 == 3,第一个将返回arg1+arg2,而第二个将返回None。 (我假设agr2是一个错字。)
标签: python if-statement pep