deffunc1 (*args):对于args中的I:打印(i)
func1(10年,20年,34)
在上面的代码中,我以如下所示的方式得到输出:
1020.30
现在,当我以这种方式编码时,我不会得到与上面编码相同的输出。
def func1 (* args):对于args中的I:返回(我)
打印(func1(10年,20年,30))
--------- 输出,10
? ?为什么这里只打印10,而不是参数中传递的所有值?
??为什么这里只打印10,而不是参数中传递的所有值?
循环for i in args: …
将通过…
体运行三次,每个参数10
,20
和30
都运行一次,但只有在没有过早退出的情况下,并且当您使用return(i)
时,只发生在参数10
的第一次循环运行中,因为return
立即离开函数并且没有回来。
另一种选择是
def func1(*args):
for i in args: yield i
有了它,你可以print(*func1(10, 20, 30))
。