|
发表于 2020-7-30 09:48:46
|
显示全部楼层
本帖最后由 Twilight6 于 2020-7-30 09:52 编辑
这个并不是装饰器特有的哈,只要在定义函数的时候,定义 * 参数名 这个就代表这个参数可以传入不定数量的参数
并将各个参数以元组形式储存在 参数名 中,比如你这里的 *name ,传入的参数最终都在 name 元组中的元素
当在函数内直接 *name 就是解包,就是将 name 里面的元素全部取出
看个例子:- name = (1,2,3,'abc',5,6)
- print(*name)
复制代码 输出结果:输出了这 6 个参数
- def func(*name):
- print(name)
- print(type(name))
- print(*name) # 这边就是解包操作,将容器里的元素全部取出
- func('猪',1,123,'FishC','Cool',[1,2,3,4,5])
复制代码
输出结果:
- ('猪', 1, 123, 'FishC', 'Cool', [1, 2, 3, 4, 5])
- <class 'tuple'>
- 猪 1 123 FishC Cool [1, 2, 3, 4, 5]
复制代码
|
|