【问题标题】:Using two return statements in a function (Python 2.7)在函数中使用两个返回语句 (Python 2.7)
【发布时间】:2014-11-27 22:29:08
【问题描述】:

我对这个函数的输出感到困惑:

def doPrint():
    print "Hello",
    return "World"
    print "Goodbye",
    return "World"

print doPrint()

输出是“Hello World”。那么,有人能解释一下为什么它没有打印出“再见世界”吗?

【问题讨论】:

标签: python return


【解决方案1】:

第一个return 语句之后的所有内容都无法访问:

def doPrint():
    print "Hello",
    return "World" <- function ends here
    print "Goodbye", <- code is unreachable
    return "World"   <- code is unreachable

如果您想要两个输出,最后使用一个 return

def doPrint():
    print "Hello",
    print  "World"
    print "Goodbye",
    return "World"

In [13]: print doPrint()
Hello World
Goodbye World

【讨论】:

    【解决方案2】:

    该函数只打印出“Hello”。

    然后它返回,它的返回值为“World.”。返回意味着函数已经完成,解释器继续执行函数调用之前的任何位置,因此返回之后的任何内容都无关紧要。

    你把它称为print doPrint(),它调用函数并打印返回值是什么(我们知道它原来是“世界”)。

    所以最终结果是“Hello World”。已打印。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 2020-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多