2024-05-29 02:33:48 发布
网友
例如:
mytuple = ("Hello","World") def printstuff(one,two,three): print one,two,three printstuff(mytuple," How are you")
这自然会因为一个TypeError而崩溃,因为我只给它两个参数,而它需要三个参数。在
有没有一种简单的方法可以有效地“拆分”元组,而不是扩展所有内容?比如:
有点,。。。您可以这样做:
>>> 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" )
这是另一种选择。在
这可能很可怕。在
尝试以下操作:
printstuff(*(mytuple[0:2]+(" how are you",)))
有点,。。。您可以这样做:
如你所见,你可以做你想做的事情,只要你用它的名字来限定后面的任何参数。在
如果不更改参数顺序或切换到命名参数,则不是这样。在
下面是命名参数的替代方法。在
这是另一种选择。在
^{pr2}$这可能很可怕。在
尝试以下操作:
相关问题 更多 >
编程相关推荐