【问题标题】:Why won't my print work in a function after a return? [closed]为什么我的打印在返回后不能在函数中工作? [关闭]
【发布时间】:2019-05-14 16:52:25
【问题描述】:

我的print 在返回后正在工作,我想知道为什么。我已经尝试了几件事,但它们不起作用:

def addNum(a, b, c, d, e, f,):
    return a + b + c + d + e + f
    print("dope")

list1 = addNum(2, 3, 3, 3, 3, 5)
print(list1)

我想要它做的是打印dope,但它会跳过那部分,只输出返回值。

【问题讨论】:

标签: python python-3.x function


【解决方案1】:

我建议你review the return statement。您的帖子看起来非常类似于他们的示例:

>>> def return_middle():
...     a = 1
...     return a
...     a = 2     # This assignment is never reached.
...
>>> print(return_middle())
1

【讨论】:

    【解决方案2】:

    return 语句使函数短路,因此每当在函数中遇到 return 语句时,return 语句之后的任何事情都不会发生。

    如果您想要打印“涂料”,您必须将 print 语句移到函数中的 return 语句之前,或者将 print 语句完全移出函数(如果您真的想要“涂料" 在返回值之后打印)。这是我将如何重写您的代码以在附加值之后打印“涂料”的一个示例。

    def addNum(a, b, c, d, e, f):
        return a + b + c + d + e + f
    
    list1 = addNum(2, 3, 3, 3, 3, 5)
    print(list1)
    print("dope")
    

    【讨论】:

      【解决方案3】:

      在函数中,return 语句本质上是将一些数据返回给调用它的函数,然后退出函数。如果 print 语句在 return 语句之后,则无法访问。所以,我建议把它放在 return 语句之上。

      另外,也许删除函数参数中多余的逗号。

      【讨论】:

        【解决方案4】:

        在函数中,return 语句是一个端点,之后,如果使用它,则不会处理任何内容,如果要打印一些内容,请在函数返回值之前执行。

        【讨论】:

        猜你喜欢
        • 2016-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 1970-01-01
        • 2015-03-13
        相关资源
        最近更新 更多