默认参数,不固定参数 *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') 

 

 

posted @ 2018-03-22 15:37  人无远虑  阅读(274)  评论(0编辑  收藏  举报