函数的非固定参数

参数:默认参数,位置参数,关键字参数(关键字参数不能写在位置参数前面)


默认参数特点:调用函数的时候,默认参数非必需传递
def test(x,y=2):  #定义默认参数y=2
    print(x)
    print(y)

test(1,3)

输出: 1

        3

 

参数组

*args:接收N个位置参数,转换成元组的形式

def test(*args):  #变量args,前面加*,定义一个可以传递多个实参的形参
    print(args)

test(1,2,3,4,5,5)
test(*[1,2,4,5,5]) # args=tuple([1,2,4,5,5)

def test1(x,*args):
    print(x)
    print(args)
test1(1,2,3,4,5,6,7)

 

**kwargs: 接收N个关键字参数,转换成字典的方式

def test2(**kwargs):
    print(kwargs)
test2(name='alex',age=22)

 

举个栗子:

def test3(name,age=18,*args,**kwargs):
    print(name)
    print(age)
    print(args)
    print(kwargs)

test3('alex',age=34,sex='m',hobby='tesla')

结果:

alex
34
()
{'sex': 'm', 'hobby': 'tesla'}

 

posted @ 2017-08-22 11:32  _Cohen  阅读(153)  评论(0)    收藏  举报