def demo(*args
, **kwargs
):
print(args
)
print(kwargs
)
print("args传入参数数量{}".format(len(args
)))
print("kwargs传入参数数量{}".format(len(kwargs
)))
if __name__
== '__main__':
gl_nums
= (1, 2, 3)
gl_dict
= {"name": "小明", "age": 18}
print("直接调用,所有参数当做元组参数")
demo
(gl_nums
, gl_dict
)
print("-------------------")
print("如果不使用拆包,我们要这样调用才能正确使用函数")
demo
(1, 2, 3, name
='小明', age
=18)
print("-------------------")
print("如果这样调用,虽然打印出来是一样的,但是传入的元祖参数实际才有一个")
demo
(gl_nums
, name
='小明', age
=18)
print("-------------------")
print("拆包调用")
demo
(*gl_nums
, **gl_dict
)
print("-------------------")
输出:
直接调用
,所有参数当做元组参数
((1, 2, 3), {'name': '小明', 'age': 18})
{}
args传入参数数量
2
kwargs传入参数数量
0
-------------------
如果不使用拆包,我们要这样调用才能正确使用函数
(1, 2, 3)
{'name': '小明', 'age': 18}
args传入参数数量
3
kwargs传入参数数量
2
-------------------
如果这样调用
,虽然打印出来是一样的,但是传入的元祖参数实际才有一个
((1, 2, 3),)
{'name': '小明', 'age': 18}
args传入参数数量
1
kwargs传入参数数量
2
-------------------
拆包调用
(1, 2, 3)
{'name': '小明', 'age': 18}
args传入参数数量
3
kwargs传入参数数量
2
-------------------
转载请注明原文地址: https://www.6miu.com/read-2612835.html