当函数的参数不确定时,可以使用argvs 和kwargs,args接收非键值,kwargvs接收键值对参数,args和kwargs必须在参数列表最后,并且kwargs在args后面
- *args args将参数封装在元组中
def test_args(first,*args): print(first) print(args) input: test_args(1, 2, 3, 4) result: 1 (2, 3, 4) input: li = [1,2,3,4] test_args(0, *li) result: 0 (1, 2, 3, 4)
- **kwargs kmargs将参数封装在字典中
def test_kwargs(first, **kwargs): print(first) print(kwargs) input: test_kwargs(1, a=1, b="str", c=[1, 2, 3]) result: 1 {'a': 1, 'b': 'str', 'c': [1, 2, 3]} input: dic = {'a': 1, 'b': [1, 2, 3]} test_kwargs(0, **dic) result: 0 {'a': 1, 'b': [1, 2, 3]}