【问题标题】:Python: "return" in functions [duplicate]Python:函数中的“返回”[重复]
【发布时间】: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


【解决方案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 不客气 :)
猜你喜欢
  • 2020-02-20
  • 2018-05-14
  • 2021-08-15
  • 2023-01-12
  • 2022-12-25
  • 1970-01-01
  • 1970-01-01
  • 2020-08-24
  • 1970-01-01
相关资源
最近更新 更多