【问题标题】:difference in output while using return and print keyword使用 return 和 print 关键字时的输出差异
【发布时间】:2021-02-27 08:32:37
【问题描述】:

def func1(*args): 对于 args 中的 i: 打印(一)

func1(10,20,34)


在上面的代码中我得到如下所示的输出:

10 20 30

现在当我以这种方式编码时,我得到的输出不像我在上面的编码中得到的那样

def func1(*args): 对于 args 中的 i: 返回(一)

打印(func1(10,20,30))

---------输出------ 10

??为什么这里只打印 10 而不是参数中传递的所有值

【问题讨论】:

    标签: printing return keyword


    【解决方案1】:

    ??为什么这里只打印 10 而不是参数中传递的所有值

    循环for i in args: … 将通过 主体运行三次,每个参数102030 运行一次,但前提是没有过早退出,并且只会在当你使用return(i) 时,第一个循环运行参数10,因为return 立即离开函数并且没有回来。

    另一种选择是

    def func1(*args):
        for i in args: yield i
    

    你可以print(*func1(10, 20, 30))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 2014-08-08
      • 2021-04-04
      • 2018-06-17
      相关资源
      最近更新 更多