Python: 你所不知道的星号 * 用法

来源: 腾讯云 时间:2022-11-29 06:22:07

以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://mp.weixin.qq.com/s/FHyosiG_tegF5NRUEs7UdA


(资料图片仅供参考)

本文大概 1193 个字,阅读需花 6 分钟内容不多,但也花了一些精力如有余力,欢迎点赞收藏分享,谢谢!
铃铃铃…… 上课了老师在黑板写着这么一个标题 《Python: 你所不知道的星号 * 用法》同学A:    呃,星号不就是用来做乘法的嘛,这个还有必要专门列出来吗?同学B:    老师这会又在卖关子了?同学C忍不住嗦地一声站起来喊:    难道写代码还得强行找理由秀一波星星吗?老师:    这位同学,你太优秀了,先坐下。    平常对于星号的应用场景用得少是不需要了解太多用法的。    不过,学编程的过程少不了要去阅读优秀的源代码库,    也就时常会对星号 * 的贸然出现和用途感到困惑,    所以今天就让你们好好了解一下会有哪些用法,    不要求全记住,略懂一二即可,略懂。。。

这里尝试总结一波python里的星号* 用法,如有写得不到位,欢迎评论区交流!看下文...

数值乘法

最常见的用法,星号用在两个数之间实现两个数的乘法计算

e.g.

mul = 1 * 2print(mul)

Output:

2

成员倍增器

如果星号前面的操作数是序列,比如列表、元组、字符串等,后操作数是n,那么是对序列的成员倍增,列表的成员数量会变成原来的n倍。

e.g.

list = ["hello"] * 2print(list)

Output:

["hello", "hello"]

幂运算

两个星号 ** 表示对星号前面的操作数执行后面操作数的幂运算,简单点说就是求多少次方的计算。

e.g.

print(10 ** 3)

Output:

1000

函数参数解压操作符

有时候在打印数据时,需要对原始数据进行输出,并且在数据之间插入一些分隔符。一般想到的是用循环处理,但是看起来语句有些啰里啰唆的。

e.g.

print(" ".join(["sunday", "monday", "tuesday", "wednesday"]))print(" ".join("helloworld!"))

Output:

sunday monday tuesday wednesdayh e l l o w o r l d !

在这里要介绍的是更方便的方法,那就是用星号做解压处理。

调用函数时,在输入参数前添加星号 * 可以对参数执行解压操作,比如对列表、元组、字符串等序列类型的输入参数做解压之后,就变成了单个数据。

e.g.

print(*"list")

Output:

l i s t

e.g.

print(*["hello", "world", "!"])

Output:

hello world !

函数参数修饰符

添加星号 * 在函数的参数前时,表示该参数是不定数量的位置参数。

很多时候向函数输入的位置参数是不定数目的,这样子就可以借助星号修饰符来表述了。在函数内该参数存储的数据被构造成元组类型,也就是说传入的不定参数被包含在元组内。

e.g.

def add(*args):    return sum(args)print(add(1, 2, 3, 4, 5))

Output:

15
添加两个星号 ** 在函数的参数前时,表示该参数是不定数量的关键字参数。

向函数输入的不定数目的参数除了可以是位置参数之外,也可以是关键字参数。这个时候就不能用单个星号做修饰符了,而是双星号 ,比如 kwargs。

在函数内该不定数目参数存储的数据属于字典类型,也就是说传入的不定参数被包含在字典内。

e.g.

def food_type(**kwargs):    for item in kwargs:        print(f"{kwargs[item]} belongs to {item}")food_type(fruit = "apple", meat = "animal", vegetable = "potato")

Output:

apple belongs to fruitanimal belongs to meatpotato belongs to vegetable

好了,简简单单介绍完毕,你看懂了吗?如果没有就留个言吧,我改总可以了吧?

上一篇:

下一篇:

X 关闭

热门推荐

李小秀:坚守店铺要为员工谋条路2天天观热点

2022-11-28   中国产业经济信息网

薛良平——北京华夏兰亭书画院院士

2022-11-28   兰亭书画艺术

畅销近三十载,GP超霸E411以前沿科技持续创新

2022-11-28   中国产业经济信息网

无形资产评估是指什么?4全球热讯

2022-11-28   贵荣鼎盛资产评估

使用GitHub+Hexo搭建个人博客

2022-11-28   腾讯云

粉皮儿网(粉皮儿网)

2022-11-28   万能网

宣战书全文(宣战书)

2022-11-28   万能网

今日热门!长春13个小区即将改造

2022-11-28   东亚经贸新闻

高交会折射中国科技创新三大特点3当前速讯

2022-11-28   中国产业经济信息网

首个央企产业集群入驻雄安新区

2022-11-28   北京日报客户端

斯人斯乐——清故恭王府音乐1环球动态

2022-11-28   北京青年报官网

张永和:怎么把建筑造好?

2022-11-28   南方周末

日常生活:雾是怎么形成的

2022-11-27   万能网

Go 语言学习技巧和编程思维

2022-11-27   腾讯云

大兴区旅游景点有哪些?1速讯

2022-11-27   喜哥旅游

当前视点!速查!漯河公布最新风险点位!

2022-11-27   漯河市广播电视台

奇迹私服1 03插件

2022-11-27   万能网

华润置地举办首届科技创新大赛0环球讯息

2022-11-27   中国产业经济信息网

世界新动态:房山这里部分道路临时管控!

2022-11-27   北青社区报房山版

更强冷空气明日抵京1每日热讯

2022-11-27   北京青年报官网

“老舍戏剧节”探讨 老舍笔下的西城

2022-11-27   北京青年报官网

胡同主事成为社区居民“主心骨”

2022-11-27   北京青年报官网

您好,这里是昌平疾控密接组3焦点速看

2022-11-26   北青社区报昌平版

普法宣传挂图丨依法防疫 人人有责

2022-11-26   今日十八里店

61岁钟楚红素颜照(61seer)

2022-11-26   万能网

mpp query optimization

2022-11-26   腾讯云

Copyright   2015-2022 中国行业信息网版权所有  备案号:   联系邮箱:29 59 11 57 8@qq.com