Python:函数中的“返回”[重复]
Posted
技术标签:
【中文标题】Python:函数中的“返回”[重复]【英文标题】:Python: "return" in functions [duplicate] 【发布时间】:2016-01-12 16:46:33 【问题描述】:我们的教授告诉我们应该始终包含 return,但是有些情况并不“要求”return 完全没有(至少我是这么认为的)。我理解它的方式是, return 发送它前面的任何值(假设它有一个值;否则它不返回任何东西?)。但是我遇到了一些仅用作printer的功能,例如您已经定义了一个函数,当被调用时,它会打印列表的某个元素,并且列表的位置无关紧要(如果它在函数内部,在函数之前,甚至在函数之后)只要它是在您调用所述函数的行之前创建,并且该函数不包含 return,为什么会这样?我的意思是这个功能的唯一目的是打印而不是别的。所以,在阅读了我到目前为止所写的内容之后,你能告诉我我是否误解了某些东西,或者无论如何 return “应该”在那里?我的意思是即使我包含 return,它会 return 是什么?我还没有看到任何函数(到目前为止)只有一个返回而前面没有任何东西。
【问题讨论】:
看看***.com/questions/15300550/… 这里的简单答案。你的教授说应该总是包括回报。你的教授错了。 总是包含返回是;在没有明确的return
语句(或存在空的return
)的情况下,Python 函数/方法隐含return None
。
@Kevin 谢谢,这是对教授所说的明确回答。我想我现在明白了,排除返回和包含返回 None 是一回事,因为两者都返回“None”。谢谢大家
有不少“金科玉律”是教师不断对新手施加的,没有任何解释,也不管背景如何。在最好的情况下,你的老师的意图是强迫你思考你的函数应该返回什么以及为什么。在最坏的情况下......好吧,坏消息,不是所有的老师都应该教。
【参考方案1】:
让我们以打印值的函数为例
def func():
print 'hello'
def func():
print 'hello'
return None
这两个函数在技术上是相同的,因为它们都返回 None
在link 中查看function basics
,这说明了返回
语句 return [expression] 退出一个函数,可选地传递 将表达式返回给调用者。没有参数的 return 语句 与 return None 相同。
所以
def func():
print 'hello'
return
也和上面两个例子一样
【讨论】:
感谢您提供基础知识链接,对于示例,我在 Wing IDE 中尝试了您的两个示例并得到了相同的结果。 @DickArmstrong 不客气 :)以上是关于Python:函数中的“返回”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
每天一道面试题--删除排序数组中的重复项 II(python实现)