python 复习之 可变参数

1.python中使用*代表可变参数,类似C语言中的 ... 不过 C语言中的可变参数之前必须有一个或者多个参数

def funcD(a,b,*c):
    print a
    print b
    print "length of c is: %d"%len(c)
    print c


funcD(1,2,3,4,5,6,7)

  python中就不用,上下 两段代码中 c都是一个tuple,上面如果只有两个参数的话,c就是一个空的tuple

def funcD(*c):
  
    print "length of c is: %d"%len(c)
    print c


funcD(1,2,3,4,5,6,7)

  2. python中的两个*,如果一个函数定义中的最后一个形参有 ** (双星号)前缀,所有正常形参之外的其他的关键字参数都将被放置在一个字典中传递给函数

def funcE(a,**b):
    print a
    for x in b:
        print x + ": " + str(b[x])
        


funcE(1,c='hello',b = 'world')

  输出为:

1

c: hello

b: world

posted @ 2011-09-12 10:28  wtx  阅读(323)  评论(0编辑  收藏  举报