packing 组包,函数使用 【*】 (for tuples)【元组】, & 【**】(for dict) 【 字典】来接受可迭代的参数
unpacking 解包 ,函数内部定义多个参数(可以是具体的,也可以用【具体】+【*args】 OR 【**kwargs】)来对应传入的可迭代数据
eg:
IN:def v(*args): # *args * 一维结构,接受多个参数,
print(args,type(args))
a,b,c = args
print(a,type(a))
v = a*b*c
print(v,type(v))
v(*data)
OUT:
(2, 6, 2.5)
2
30.0
复合情况:需要用一个参数解包接受,匹配函数调用传入数据对应的KEY值,剩下的数据打包成一个字典。
IN:def personal_info(work,**kwargs):
# work去匹配传入的多维参数,dict中 'work' 这个KEY,如果没有匹配到,报错。
# **kwargs 接受多维结构的数据作为参数传入
print(kwargs,type(kwargs))
info = kwargs
print(info)
print(f'工作内容:{work}',type(work))
OUT:
(2, 6, 2.5)
2
30.0
{'name': 'Daniel', 'age': '24'}
{'name': 'Daniel', 'age': '24'}
工作内容:TestOPS