Python: 你所不知道的星号 * 用法
以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「englyf」https://mp.weixin.qq.com/s/FHyosiG_tegF5NRUEs7UdA
这里尝试总结一波 python 里的星号* 用法,如有写得不到位,欢迎评论区交流!看下文...
数值乘法
最常见的用法,星号用在两个数之间实现两个数的乘法计算
e.g.
Output:
成员倍增器
如果星号前面的操作数是序列,比如列表、元组、字符串等,后操作数是 n,那么是对序列的成员倍增,列表的成员数量会变成原来的 n 倍。
e.g.
Output:
幂运算
两个星号 ** 表示对星号前面的操作数执行后面操作数的幂运算,简单点说就是求多少次方的计算。
e.g.
Output:
函数参数解压操作符
有时候在打印数据时,需要对原始数据进行输出,并且在数据之间插入一些分隔符。一般想到的是用循环处理,但是看起来语句有些啰里啰唆的。
e.g.
Output:
在这里要介绍的是更方便的方法,那就是用星号做解压处理。
调用函数时,在输入参数前添加星号 * 可以对参数执行解压操作,比如对列表、元组、字符串等序列类型的输入参数做解压之后,就变成了单个数据。
e.g.
Output:
e.g.
Output:
函数参数修饰符
添加星号 * 在函数的参数前时,表示该参数是不定数量的位置参数。
很多时候向函数输入的位置参数是不定数目的,这样子就可以借助星号修饰符来表述了。在函数内该参数存储的数据被构造成元组类型,也就是说传入的不定参数被包含在元组内。
e.g.
Output:
添加两个星号 ** 在函数的参数前时,表示该参数是不定数量的关键字参数。
向函数输入的不定数目的参数除了可以是位置参数之外,也可以是关键字参数。这个时候就不能用单个星号做修饰符了,而是双星号 **,比如 **kwargs。
在函数内该不定数目参数存储的数据属于字典类型,也就是说传入的不定参数被包含在字典内。
e.g.
Output:
好了,简简单单介绍完毕,你看懂了吗?如果没有就留个言吧,我改总可以了吧?
版权声明: 本文为 InfoQ 作者【englyf】的原创文章。
原文链接:【http://xie.infoq.cn/article/694f602275f24d141d8324109】。文章转载请联系作者。
评论