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

位置参数,默认参数,非关键字可变长参数,关键字可变长参数

时间:2015-09-17 19:01:41      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

def f(name, gender = ‘male‘, *args, **kw):
    pass

位置参数:name

默认参数:gender

非关键字可变长参数:args

关键字参数:kw

 

tips:四者的顺序必须是(位置参数)+(默认参数)+(非关键字可变长参数)+(关键字参数)

特殊情况:

def f(name, gender = ‘male‘, *args, **kw):
        print ‘name: %s‘ % name
        print ‘gender: %s‘ % gender
        if args != ():
                #print ‘args: %d‘ % args
#               for x in args:
#                       print ‘args: %s‘ % x
                print args
        if kw != {}:
                for eachKey in kw:
                        print ‘%s:%s‘ % (eachKey, kw[eachKey])


t = tuple(range(3))
d = dict(a = 1, b = 2)
f(‘wm‘, ‘female‘, 10, x = 1,*t, **d)

运行结果:
name: wm
gender: female
(10, 0, 1, 2)
a:1
x:1
b:2

10在t之前出现,同时,t = (0, 1, 2),最后的结果是(10, 0, 1, 2)顺序与元素出现顺序一致,因为元组不可变。

因为dict无序,所以元素位置不定。

位置参数,默认参数,非关键字可变长参数,关键字可变长参数

标签:

原文地址:http://www.cnblogs.com/iNeoWong/p/4816897.html

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