我想创建一个使用两个可变长度参数的函数。例如:
def my_func(*args1, *args2):
for i in args1:
do stuff
for j in args2:
do stuff
Python中有没有一种方法可以使用多个*args
?在此先感谢您的帮助。
不,因为无法决定是否
my_func(a, b)
方法
args = [], args2 = [a,b] # or ..
args = [a], args2 = [b] # or ..
args = [a,b], args2 = []
相反,只需让函数将两个列表作为参数。
你应该使用列表。这样,很明显哪个项目在哪个参数中:
def my_func(args1, args2):
for a in args1:
print a
for b in args2:
print b
my_func([1, 2, 3], [4, 5, 6])
您可以为每个参数使用一个数组(或任何 Python 的数组名称)。否则,Python 无法知道在哪里拆分每组可变长度参数。
您想如何调用该函数?为什么不使用两个数组或字典?
不,这甚至没有意义。什么将决定第一个列表中的内容以及第二个列表中的内容?不过,您也可以传递关键字参数(如果您还不知道):
def func(*args **kwargs):
pass
你到底想要完成什么?