python 中的"*"与"**"
1.Python中 *和**很常见的运算符的用途及其多种使用方式。
本文所述的*和**,指的是*和**前缀运算符,而不是中缀运算符。
所以指的不是乘法和乘幂:
使用*和**将参数传递给函数 使用*和**捕捉传递到函数中的参数 使用*接受强制关键字参数 使用*在元组拆包封期间时捕获各项 使用*将迭代器解解包到列表/元组中 用**把词典解包到其他词典
2.星号在函数调用中解包参数
*运算符lis = ["中国","北京","河南","河北"] print(*lis) 结果:中国 北京 河南 河北 *运算符在定义函数时,用于收集所有的位置参数到一个新的元组:
**运算符执行类似的操作,但是使用关键字参数。**操作符允许我们取一个键值对字典,并将其在函数调用中解包成关键字参数: dic={"} print("{year}-{month}-{day}".format(**dic)) 结果:2018-11-11**运算符还有另一面:在定义函数时,可以使用**将赋予该函数的任何关键字参数捕捉到字典中:
python 中的"*"与"**"的更多相关文章
- [转]Python中的str与unicode处理方法
早上被python的编码搞得抓耳挠腮,在搜资料的时候感觉这篇博文很不错,所以收藏在此. python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自 ...
- python中的Ellipsis
...在python中居然是个常量 print(...) # Ellipsis 看别人怎么装逼 https://www.keakon.net/2014/12/05/Python%E8%A3%85%E9 ...
- python中的默认参数
https://eastlakeside.gitbooks.io/interpy-zh/content/Mutation/ 看下面的代码 def add_to(num, target=[]): tar ...
- Python中的类、对象、继承
类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...
- python中的TypeError错误解决办法
新手在学习python时候,会遇到很多的坑,下面来具体说说其中一个. 在使用python编写面向对象的程序时,新手可能遇到TypeError: this constructor takes no ar ...
- python中的迭代、生成器等等
本人对编程语言实在是一窍不通啊...今天看了廖雪峰老师的关于迭代,迭代器,生成器,递归等等,word天,这都什么跟什么啊... 1.关于迭代 如果给定一个list或tuple,我们可以通过for循环来 ...
- python2.7高级编程 笔记二(Python中的描述符)
Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些" ...
- python cookbook 学习系列(一) python中的装饰器
简介 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓 ...
- 用 ElementTree 在 Python 中解析 XML
用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
随机推荐
- io系列之常用流一
一. 读取键盘录入和数据打印 在System类中, System.out: 对应的是标准输出设备(控制台)(一个PrintStream). System.in: 对应的是标准输入设备(键盘)(一个In ...
- alias命令使用
alias 别名 增加别名 alias vi=vim alias api='sudo apt-get install' alias apr='sudo apt-get remove' alias tz ...
- 原生JS实现$.ajax
function ajax(obj){ obj=obj||{}; obj.type=(obj.type||'GET').toUpperCase(); obj.dataType=obj.dataType ...
- No cached version of cn.lightsky.infiniteindicator:library:1.2.2 available for offline mode.
去掉勾勾
- hystrix项目实战
闲话少说: 总共分6步: (1)添加hystrix依赖以及监控的依赖 <dependency> <groupId>org.springframework.cloud</g ...
- Luogu P2148 [SDOI2009]E&D
题目链接 \(Click\) \(Here\) 蒟蒻的人生第一道博弈论.真吉尔难啊.... 通常的博弈论写法似乎都是\(SG\)函数打表猜规律.本蒻其实本来想学一下博弈论的证明的,但后来发现果然还是打 ...
- 【优秀的素材收藏管理工具】Inboard for Mac 1.1
[简介] Inboard 1.1 版本,Inboard 是一款Mac上强大的设计素材管理器,Inboard功能简洁实用,是设计师必备的一款软件,集成Dribbble,支持从 Safari.Chrome ...
- go kafka
安装导入 go get github.com/Shopify/sarama import "github.com/Shopify/sarama" 使用 1.同步生产者 packag ...
- go 定时器
go 定时器 package main import ( "fmt" "time" ) func main() { t := time.NewTicker(ti ...
- 开源图片文字识别引擎——Tesseract OCR
Tessseract为一款开源.免费的OCR引擎,能够支持中文十分难得.虽然其识别效果不是很理想,但是对于要求不高的中小型项目来说,已经足够用了. 文字识别可应用于许多领域,如阅读.翻译.文献资料的检 ...