When defining a function, if the number of parameters is not fixed , We want to be able to use a special string to represent Variable length parameters . that You may encounter two variable length parameters , namely *args and **kwargs.
*args and **kwargs Both are variable length parameter collection mechanisms , So let's summarize *args and **kwargs Differences and precautions of calling .
difference 1:
*args Package the parameters passed into the function into a meta Group (tuple) Call the function body
**kwargs Package the parameters passed into the function into a dictionary (dict) Call the function body
Be careful 1:
If the function parameter qi No preceding *
, That's an object , If you add *args
, Indicates that multiple arguments can be passed in , The passed in parameters are collected A tuple args
This object in , If you use *
operation , It means to untie , What is returned is Multiple objects !!
Be careful 2:
If used at the same time args,*args and **kwargs, Must be args,*args,**kwargs The order
Yesterday, Xiaobian received a
List of articles Problem desc