码迷,mamicode.com
首页 > 其他好文 > 详细

函数的动态参数与命名空间 day9

时间:2018-02-01 20:45:21      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:**kwargs   fun   lex   ret   width   war   bubuko   *args   body   

 

 

一、动态参数(不定长参数)def func(*args):

 

形参: 3种 动态参数
*args 动态参数,不定长参数


*rarge用法
def func(*args):
    print(args,type(args))
func(1,2,alex,3,4,5,6,8,4,7,2)

结果

技术分享图片

 

*args按位置对应不能放到,其他形参位置前边

def func(*args,a,b,c):
    print(a)
    print(b)
    print(c)
    print(args,type(args))
func(1,2,alex,3,4,)

结果

技术分享图片

正确用法

def func(a,b,c,*args):
    print(a)
    print(b)
    print(c)
    print(args,type(args))
func(1,2,alex)

 结果

技术分享图片

位置参数,*args,默认参数,**kwargs
def func(a,b,c,sex = ,*args):
    print(a)
    print(b)
    print(c)
    print(sex)
    print(args,type(args))
func(1,2,alex,wusir,ritian 

结果

sex=‘男’被wusir覆盖 

技术分享图片

def func(a,b,c,*args,sex = ):
    print(a)
    print(b)
    print(c)
    print(sex)
    print(args,type(args))
func(1,2,alex,wusir,ritian ,sex=)

结果

技术分享图片

**kwargs的用法

def func(**kwargs):
    print(kwargs)
func(a = 1,b = 4,c = 3,d = 2)

 结果

 技术分享图片

def func(a,b,c,*args,sex = ,**kwargs):
    print(a)
    print(b)
    print(c)
    print(sex)
    print(args,type(args))
    print(kwargs)
func(1,2,alex,wusir,ritian ,sex = ,name = taibai,age = 21)

结果 

技术分享图片

*args,**kwargs万能参数

def func2(*args,**kwargs):
    #万能参数
    print(args)
    print(kwargs)
func2(1,2,3,5,name=alex,age=56)

 

结果

技术分享图片

 

 

 *rags加法计算器

def my_sum(*args):
    count = 0
    for i in args:
        count += i
    return count
print(my_sum(1,2,3,6,78))
print(sum([1,2,3]))

 

结果

技术分享图片

 

*魔法运算:打散

def func2(*args,**kwargs):
    print(args)
    #(1,2,3)
l1 = [1,2,3,]
l2 = [1,2,3,2,3,100,2]
func2(*l2,*l1)

 

结果

技术分享图片

 

 

 

def func3(*args,**kwargs):
    print(args)
    print(kwargs)
dic = {name:alex,age:12}
dic2 = {name:jin,age:22}
func3(**{name1:alex,age1:12},**{name2:jin,age2:22},name3 = wusir)

 

结果 

技术分享图片

 

 

def func3(*args,**kwargs):
    print(args)
    print(kwargs)
dic = {name:alex,age:12}
dic2 = {name:jin,age:22}
func3(**{name1:alex,age1:12},**{name2:jin,age2:22},name3 = wusir)

 

 结果

技术分享图片

 

args元组,他包含了你所有的位置参数.
**kwargs 他包含了关键动态参数

技术分享图片

 

 

函数的动态参数与命名空间 day9

标签:**kwargs   fun   lex   ret   width   war   bubuko   *args   body   

原文地址:https://www.cnblogs.com/chongdongxiaoyu/p/8400746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!