首页 > 其他 > 详细

函数参数自动解包

时间:2014-10-15 12:05:31      阅读:230      评论:0      收藏:0      [点我收藏+]

函数参数自动解包

你使用*, **可以自动的对一个list,dict做函数参数,自动的解包

例子:

def draw_point(x, y):
    # do some magic

point_foo = (3, 4)
point_bar = {y: 3, x: 2}

draw_point(*point_foo)
draw_point(**point_bar)

这是一个非常捷径的用法。

NOTE:

请看这两个程序的不同。。。

def cheeseshop(kind, *arguments, **keywords):
    print "-- Do you have any", kind, "?"
    print "-- I‘m sorry, we‘re all out of", kind
    for arg in arguments:
        print arg
    print "-" * 40
    keys = sorted(keywords.keys())
    for kw in keys:
        print kw, ":", keywords[kw]

cheeseshop("Limburger", "It‘s very runny, sir.",
           "It‘s really very, VERY runny, sir.",
           shopkeeper=Michael Palin,
           client="John Cleese",
           sketch="Cheese Shop Sketch")

 

Python不单可以自动解包,也可以自动的形成tuple,dict数据结构作为函数参数。。

函数参数自动解包

原文:http://www.cnblogs.com/tom-zhao/p/4025943.html

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