【发布时间】:2016-01-12 16:46:33
【问题描述】:
我们的教授告诉我们应该始终包含 return,但是有些情况并不“要求”return 完全没有(至少我是这么认为的)。我理解它的方式是, return 发送它前面的任何值(假设它有一个值;否则它不返回任何东西?)。但是我遇到了一些仅用作printer的功能,例如您已经定义了一个函数,当被调用时,它会打印列表的某个元素,并且列表的位置无关紧要(如果它在函数内部,在函数之前,甚至在函数之后)只要它是在您调用所述函数的行之前创建,并且该函数不包含 return,为什么会这样?我的意思是这个功能的唯一目的是打印而不是别的。所以,在阅读了我到目前为止所写的内容之后,你能告诉我我是否误解了某些东西,或者无论如何 return “应该”在那里?我的意思是即使我包含 return,它会 return 是什么?我还没有看到任何函数(到目前为止)只有一个返回而前面没有任何东西。
【问题讨论】:
-
这里的简单答案。你的教授说应该总是包括回报。你的教授错了。
-
总是包含返回是;在没有明确的
return语句(或存在空的return)的情况下,Python 函数/方法隐含return None。 -
@Kevin 谢谢,这是对教授所说的明确回答。我想我现在明白了,排除返回和包含返回 None 是一回事,因为两者都返回“None”。谢谢大家
-
有不少“金科玉律”是教师不断对新手施加的,没有任何解释,也不管背景如何。在最好的情况下,你的老师的意图是强迫你思考你的函数应该返回什么以及为什么。在最坏的情况下......好吧,坏消息,不是所有的老师都应该教。
标签: python function python-2.7 return