函数的冗余参数

如下,当我们定义了两个形参,那么我们传入实参的时候也只能传入两个,不能多也不能少:

#!/usr/bin/env python

def fun(x, y):
    print(x+y)

fun(2, 3)

如果我们要传多个参数可以用 *args 来处理,*args 用于接收冗余参数(冗余也就是多余的意思):

def fun(x, y, *args):
    print x
    print y
    print args

fun(1, 2, 3, 4, 5)
[root@localhost ~]$ python 1.py    # 以元组的形式返回冗余的参数
1
2
(3, 4, 5)

**kwargs 也可以用于接收冗余参数,但传参时必须以 key=value 的形式传入,且返回的是一个字典:

#!/usr/bin/env python

def fun(x, y, *args, **kwargs):
    print x
    print y
    print args
    print kwargs

fun(1, 2, 3, 4, 5, a=6, b=7)
[root@localhost ~]$ python 1.py
1
2
(3, 4, 5)
{'a': 6, 'b': 7}

 

 

 

 

 

 

 

    

posted @ 2019-01-13 14:39  孔雀东南飞  阅读(608)  评论(0编辑  收藏  举报