函数参数自动解包
你使用*, **可以自动的对一个list,dict做函数参数,自动的解包
例子:
def draw_point(x, y):# do some magicpoint_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", kindfor arg in arguments:print argprint "-" * 40keys = 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数据结构作为函数参数。。
如果觉得《函数参数自动解包》对你有帮助,请点赞、收藏,并留下你的观点哦!