在使用其他几种语言后,我正在深入学习Python。为了成为'pythonic'并从最佳实践的角度来看,一个类的方法总是会返回(即使是None)?在某些语言中,需要(或首选)始终具有显式的return语句。
例如,一种改变状态但不完全返回值的方法:
def change_player():
if self._player == 'X':
self._player = 'Y'
elif self._player == 'Y'
self._player = 'X'
else:
pass
在函数结束时是否应该有明确的return语句?
答案 0 :(得分:2)
通常应使用例外而非返回码来表示错误。如果您期望从函数或方法获得某种输出,则返回值是可接受的。您的代码应该如下所示:
{{1}}
以下是关于如何在Python中使用异常是一种更简洁的处理方式的讨论:sorted
答案 1 :(得分:1)
方法应该设置属性或返回值,而不是一次性。所以你的方法完全是pythonic。
def change_player():
if self._player == 'X':
self._player = 'Y'
elif self._player == 'Y'
self._player = 'X'
答案 2 :(得分:1)
肯定不需要返回声明。
至于是否包括一个好的风格,我会说不 - 但这基本上是一个意见问题。
答案 3 :(得分:1)
当某个功能修改某个功能时,它会产生副作用。 Python是一种灵活的语言,允许您按照一定的限制进行操作。但是,一个函数应该专门做一些非常简短的事情,例如:
最好返回一些内容或引发异常,以便始终知道该函数是否可以避免安静的错误/副作用。在严格的函数式编程中,函数根本不应产生任何副作用。