- *args可以实现传入多个,但又不确定几个的形参定义。实参传入后python将其组织成元组(tuple)。
- **kwargs可以实现传入多个,但又不确定几个的键值对定义,实参传入后python将其组织成字典(dict)。
Example:
input:
def main(arg, *args, **kwargs):
print(arg)
print(args)
print(kwargs)
print(type(arg), type(args), type(kwargs))
main(1,2,2,2,23,2,234,Student="学生",Teacher="老师")
output:
1
(2, 2, 2, 23, 2, 234)
{'Student': '学生', 'Teacher': '老师'}
<class 'int'> <class 'tuple'> <class 'dict'>