gpt4 book ai didi

python - 将元组传递给多参数函数

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:46 25 4
gpt4 key购买 nike

这里的问题是我想将元组作为参数传递给第二个函数。之前有“重复!”的叫喊声。我已经看过一篇关于类似问题的帖子 Expanding tuples into arguments

这是我正在测试的代码:

def producer():
return ('a','b')

def consumer(first, second, third):
print first+second+third

arg = producer()
consumer(*arg, 'c') # expected abc

这会输出错误:

There's an error in your program *** only named arguments may follow *expression

这个有用的错误消息导致将参数顺序切换为 consumer('c', *arg),但这并不能完全解决问题,因为它将输出 'cab'

所以我的问题是,是否有更好的方法将元组传递给多参数函数,并保持顺序?

另外,对于奖励积分,“*”运算符的作用是什么? (这个在之前的帖子里没有说明)

最佳答案

如错误消息所述,Python 不允许您在 *arg 之后有未命名的参数。

因此,您需要显式命名third:

>>> def producer():
... return ('a','b')
...
>>> def consumer(first, second, third):
... print first+second+third
...
>>> arg = producer()
>>> consumer(*arg, third='c')
abc
>>>

关于python - 将元组传递给多参数函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24686423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com