函数参数种类:
(1)形参:函数命名处
(2)实参:函数调用处
形参种类:
(1)普通形参(位置形参)(2)默认形参(3)普通收集形参(4)命名关键字形参(5)关键字收集形参
实参种类:
(1)普通实参(2)关键字实参
1.关键字收集形参:专门用来收集没人要的关键字实参
将其转化为字典的形式,可以拼接任意个数值的字符串
def func(a,c,**d):
print(a,c)
print(d)
func(a=1,b=1,c=2,d=5)
2.关键字命名参数
(1)def func(a,b,c,d)跟在后面的c和d都是命名关键字参数
(2)def func(args,e,**kwargs)跟在args和**kwargs之间的参数都是命名关键字参数
命名关键字参数:在调用函数时必须使用关键字实参的形式来进行调用
#定义方法一
def func(a,b,*,c,d):
print(a,b)
print(c,d)
#必须指定关键字实参,才能对命名关键字形参进行赋值
func(1,2,c=3,d=4)
#定义方法二
def func(*args,e,**kwargs):
print(args)
print(e)
print(kwargs)
func(1,2,3,4,a=1,b=6,e=6)
##星号的使用
'''
*和**如果在函数定义处使用:
*代表把普通实参打包成元组
**代表把关键字实参打包成字典
*和**如果在函数调用处使用:
*代表把元组或者列表解包
**代表把字典解包
'''
def func(a,b,*,c,d):
print(a,b)
print(c,d)
lst = [1,2]
#函数调用处*用法
func(*lst,c=2,d=5)
kwatgs={'c':1,'d':6}
#函数调用处**用法
func(1,2,**kwatgs)
#综合写法
lst = [1,2]
kwatgs={'c':1,'d':6}
func(*lst,**kwatgs)