首页 > 编程语言 > 详细

关于python的函数的*和**参数:

时间:2014-08-09 23:25:19      阅读:676      评论:0      收藏:0      [点我收藏+]

1.将足够的参数解包以后传递给函数:
>def f(p1, p2, p3, p4):
>     print p1+p2+p3+p4
>
>li = [1, 2, 3, 4]
>f(*li)
10
>
>tu = (1, 2, 3, 4)
>f(*tu)
10
>
>di = {‘p1‘:1, ‘p2‘:2, ‘p3‘:3, ‘p4‘:4}
>f(**di)
>10

2.使用封包的方法访问多余的参数
>>> def funct(*para, **para_dict):

 ...     print para

 ...     print para_dict

 ... 

>>> funct(1,2,3,4,x=5,y=6,z=7)

(1, 2, 3, 4)

{‘y‘: 6, ‘x‘: 5, ‘z‘: 7}
>>> funct(1,x=5,y=6,z=7)

(1,)

{‘y‘: 6, ‘x‘: 5, ‘z‘: 7}
将多余的位置参数封包入para,将多余的关键字参数封包入para_dict,前者是一个序列(明确一点:元组tuple),后者是一个字典。 

关于python的函数的*和**参数:,布布扣,bubuko.com

关于python的函数的*和**参数:

原文:http://my.oschina.net/rst/blog/299617

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!