位置参数
位置参数是必须传入的参数,位置参数必须一一对应,个数必须不多不少!!!
默认参数
默认参数指的是,在函数定义时,给参数了一个默认值。默认参数必须在位置参数后面哦。
动态参数
动态参数指的是,传入的参数是动态的,可以传入任意个数的值。
动态参数必须放在所有位置参数和默认参数后面。
python的动态参数有:*args和**kwargs。
1、*args
一个星号代表接受任意个参数。调用时,会将实参打包成一个元组传入形参中。如果参数是个列表,会把整个列表当做参数传入。
如果想让列表中的数据一个个作参数传递进去,则在传递实参时,在列表前面添加一个星号即可。任何序列类型数据对象(如:字符串、元组),都可以通过这种方式逐一作为参数传递给函数。而字典,则会将所有的key逐一传入。
2、**kwargs
两个星表示接受键值对的动态参数,数量任意。调用的时候会将实参打包成字典。联系一个星号的情况,两个星号能将字典内部的键值对逐一传入与**kwargs
下图为关键字参数的使用格式: