Python,tuple参数与其他参数配合得很好

2024-05-29 02:33:48 发布

您现在位置:Python中文网/ 问答频道 /正文

例如:

mytuple = ("Hello","World")
def printstuff(one,two,three):
    print one,two,three

printstuff(mytuple," How are you")

这自然会因为一个TypeError而崩溃,因为我只给它两个参数,而它需要三个参数。在

有没有一种简单的方法可以有效地“拆分”元组,而不是扩展所有内容?比如:

^{pr2}$

Tags: 方法youhelloworld参数defoneare
3条回答

有点,。。。您可以这样做:

>>> def fun(a, b, c):
...     print(a, b, c)
...
>>> fun(*(1, 2), 3)
  File "<stdin>", line 1
SyntaxError: only named arguments may follow *expression
>>> fun(*(1, 2), c=3)
1 2 3

如你所见,你可以做你想做的事情,只要你用它的名字来限定后面的任何参数。在

如果不更改参数顺序或切换到命名参数,则不是这样。在

下面是命名参数的替代方法。在

printstuff( *mytuple, three=" How are you" )

这是另一种选择。在

^{pr2}$

这可能很可怕。在

尝试以下操作:

printstuff(*(mytuple[0:2]+(" how are you",)))

相关问题 更多 >

    热门问题