class People():
def __init__(self,*args,**kwargs):
pass
这其中,*args和**kwargs分别是什么呢
其中*args可以接受很多值,是Python中的tuple数据结构
**kwargs接受字典dictionary
例子
class People():
def __init__(self,*args,**kwargs):
print('*args:',*args)
print('**kwargs:',**kwargs)
-----
wo = People(1,2,'nihao')
*args: 1 2 nihao
**kwargs:
---
def func(required_arg, *args, **kwargs):
# required_arg is a positional-only parameter.
print (required_arg)
# args is a tuple of positional arguments,
# because the parameter name has * prepended.
if args: # If args is not empty.
print (args)
# kwargs is a dictionary of keyword arguments,
# because the parameter name has ** prepended.
if kwargs: # If kwargs is not empty.
print (kwargs)
------
func("required argument", 1, 2, '3', keyword1=4, keyword2="foo")
required argument
(1, 2, '3')
{'keyword2': 'foo', 'keyword1': 4}