博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数参数自动解包
阅读量:7251 次
发布时间:2019-06-29

本文共 804 字,大约阅读时间需要 2 分钟。

函数参数自动解包

你使用*, **可以自动的对一个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", 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数据结构作为函数参数。。

转载于:https://www.cnblogs.com/tom-zhao/p/4025943.html

你可能感兴趣的文章
dotweb——go语言的一个微型web框架(一)
查看>>
又是一个名叫草泥马的项目:thefuck
查看>>
《七周七并发模型》作者Paul Butcher访谈问题有奖征集
查看>>
linux基本功能的一些命令(用户,系统信息,包管理等)
查看>>
使用 dnscrypt-proxy 防止 dns 污染
查看>>
专访孙睿 :能做自己,去做自己想做的,是件挺幸福的事儿
查看>>
滴滴开源跨平台统一 MVVM 框架 Chameleon
查看>>
玖锦科技完成1.1亿元融资,中信惠科基金领投
查看>>
JavaWeb_常用功能_01_文件上传
查看>>
Git for Windows 2.21.0 发布,Win 下的 Git 客户端
查看>>
JSON和XML格式转换
查看>>
XXL-RPC v1.3.2,分布式服务框架
查看>>
将c++静态库实现二次封装供java调用
查看>>
在阿里云kubernetes上部署Jenkins Master
查看>>
VueJs开发笔记—IDE选择和优化、框架特性、数据调用、路由选项及使用
查看>>
MySQL 数据库的备份与恢复
查看>>
Android中的设计模式之单例模式
查看>>
使用Cordova将您的前端JavaScript应用打包成手机原生应用
查看>>
用Python玩转微信
查看>>
Bootstrap 小结
查看>>