默认参数,不固定参数 *args,**kwargs
默认参数
默认参数就是定义参数的时候,给形参赋值。
自己看
def test(x,y=3):
print(x)
print(y)
test(1) test(1,y=5)
test(1,5)
1,特点,调用函数的时候,默认参数非必须传递
2,用途,
可以提前把一些值固定住,例如默认安装值
固定链接数据库的端口号
不固定参数
#args:接受N个位置参数,转换成元组
实例1
def test(*args): print(args) #args:接受N个位置参数,转换成元组 test(32,23,11,31,22,44,11) test(*[32,23,11,31,22,44,11]) #args=tuple([32,23,11,31,22,44,11])
实例2
def test1(x,*args): print(x) print(args) test1(1,32,3,44,3)
#**kwargs 把N个关键字参数转换成字典
实例3
def test2(**kwargs): #把N个关键字参数转换成字典 print(kwargs) test2(name='qiangql',age=12,job='fuzeshuai') test2(**{'name':'qiangql','age':12,'job':'shuai'})
实例4
def test3(name,**kwargs): print(name) print(kwargs) test3('qiangql',age=12)
实例5
def test4(name,age=12,**kwargs): #参数组往后放 print(name) print(age) print(kwargs) test4('qiangql') test4('qiangql',sex='m',hobby='bmw',job='shuai')
实例6
def test5(name,age=12,*args,**kwargs): #位置参数不能在关键字参数后边 print(name) print(age) print(args) #*args 接受位置参数 print(kwargs) #kwargs接受字典,关键字参数 test5('qiangql' ,sex='m',hobby='bmw',job='shuai')