【发布时间】:2016-03-13 17:11:58
【问题描述】:
在使用过其他几种语言后,我正在深入研究 Python。为了成为“pythonic”并且从最佳实践的角度来看,一个类的方法是否应该总是返回(即使没有)?在某些语言中,需要(或首选)始终具有明确的 return 语句。
例如,一个改变状态但不完全返回值的方法:
def change_player():
if self._player == 'X':
self._player = 'Y'
elif self._player == 'Y'
self._player = 'X'
else:
pass
在函数结束时这里应该有一个显式的return语句吗?
【问题讨论】:
-
有一件事:你永远不需要
else: pass,因为如果你把它排除在外,同样的事情也会发生。 -
还要注意PEP0008说“在return语句中保持一致。函数中的所有return语句都应该返回一个表达式,或者它们都不应该。如果任何return语句返回一个表达式, 任何没有返回值的 return 语句都应该明确地将 this 声明为 return None ,并且明确的 return 语句应该出现在函数的末尾(如果可以访问)。”