我是python的新手,目前正在学习python中的函数。我创建了一个接受所有类型参数(正常、*args、默认参数、**kwargs)的函数。
def func (a, *args, b=3, **kwargs):
print(a)
print(args)
print(b)
print(kwargs)并调用我使用的函数
func (1, 3,5,4, 5, a=5,j=6) 但默认参数值保持不变,我不知道如何将不同的值传递给默认参数'b‘
如何将新值传递给上述函数中的默认参数'b‘??
发布于 2020-09-26 12:44:43
参数*args是您的问题。
python中函数定义中的特殊语法*args用于向函数传递可变数量的参数。它用于传递非关键字的、可变长度的参数列表。
所以*args接受所有的参数(因为它需要一个可变长度的列表),而b永远不会收到它们。您需要删除*args。
https://stackoverflow.com/questions/64073967
复制相似问题