python学习,day3:函数式编程,*arge,**kwargs

对于不固定长度的参数,需要使用*arge,**kwargs来调用,区别是*arge是转换为元组,而kwargs转化为字典

# coding=utf-8
# Author: RyAn Bi
def test(*args): #参数组
    print(args)

test(1,2,4,6,7,8) #方式1
test(*[1,2,4,5,6]) #方式2
# args =[1,2,4,5,6]  ,变成元组的形式

def test1(x,*args):
    print(x)
    print(args)

test1(1,2,4,4,6,7,8,9)

def test2(**kwargs): #把关键字参数,转换成字典的方式
    print(kwargs)
    print(kwargs['name'])
    print(kwargs['age'])
    print(kwargs['sex'])


test2(name='bb',age=8,sex='F') #方式
test2(**{'name':'bb','age':1,'sex':'F'}) #方式2

def test3(name,**kwargs):
    print(name)
    print(kwargs)

test3('alex',age =19 ,sex= 'f')   #注,字典必须是关键字参数

def test4(name,age=18,**kwargs):  #参数组一定要放在最后
    print(name)
    print(age)
    print(kwargs)

test4('bb',sex='F',hobby ='tesla',age= 3)  #默认值18不需要输入,也可以覆盖,age= 3 覆盖默认

 

posted @ 2019-02-14 16:34  bbgoal  阅读(577)  评论(0编辑  收藏  举报