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

默认参数,不固定参数 *args,**kwargs

时间:2018-03-22 17:39:55      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:alt   不能   传递   gpo   pre   pos   div   http   形参   

 

默认参数

默认参数就是定义参数的时候,给形参赋值。

自己看

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) 

 技术分享图片

 

默认参数,不固定参数 *args,**kwargs

标签:alt   不能   传递   gpo   pre   pos   div   http   形参   

原文地址:https://www.cnblogs.com/PYlog/p/8624236.html

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