【python】 *args和**kwargs参数
*args和**kwargs参数
参数不确定时,使用*args。将参数打包成元组形式传递给函数使用。
# test.py内容如下
def function(x, y, *args):
print(x)
print(type(x))
print(y)
print(type(y))
print(args)
print(type(args))
function(1, "a", [1,2,3], {1:"a",2:"b"},(1,2,3))
# 运行test.py,打印结果如下
1
<type 'int'>
a
<type 'str'>
([1, 2, 3], {1: 'a', 2: 'b'}, (1, 2, 3))
<type 'tuple'>
# 使用*args时,参数不能带key值,否则报错
参数不确定时,使用**kwargs。与*args不同的是,这里参数必须带key值,并将参数打包成字典形式传递给函数使用。
# test.py内容如下
def function(x, y, **kwargs):
print(x)
print(type(x))
print(y)
print(type(y))
print(kwargs)
print(type(kwargs))
print(kwargs["key1"])
function(1, "a", key1 = [1,2,3], key2 = {1:"a",2:"b"}, key3 = (1,2,3))
# 运行test.py,打印结果如下
1
<type 'int'>
a
<type 'str'>
{'key3': (1, 2, 3), 'key2': {1: 'a', 2: 'b'}, 'key1': [1, 2, 3]}
<type 'dict'>
[1, 2, 3]
# 使用**kwargs时,参数必须带key值,没有key值会报错
结语
如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
手打很辛苦,如果我的文章对您有帮助,转载请注明出处。