Python海象运算符提出的时间是比较得我早的,所以对一些具体的用法,还是需要进行琢磨的,那么,它的用法教程到底是什么呢?具体的用法,下文给大家详细的解答一下。
前言
大家好,我是闲欢,你们的老相识呀!
海象可谓是最大的哺乳动物了,有人称它是北半球的“土著”居民。它圆头,短而阔的嘴巴,粗大的鼻子,上犬齿形成长达40厘米-90厘米的獠牙,每只4公斤以上。雄海象体长可达4米,重2吨。海象喜群居,数千头簇拥在一起。
海象两眼眯得像缺乏活力的老头子,它们爱睡懒觉,一生中大多时间是躺在冰上度过的,还能在水里睡觉,真是牛出天际。
作为996的卷农,我非常羡慕它们的生活,好想跟他们一样躺平。
好了,言归正传,咱们继续卷吧!今天给大家带来了一个以海象命名的运算符——海象运算符。
Python海象运算符是在PEP 572中提出,并在Python3.8版本并入和发布。
海象运算符的英文原名叫Assignment Expresions,即赋值表达式。海象表达式由一个:和一个=组成,即:=。我们一般称作walrus operator(海象运算符),因为它看起来就是一个海象旋转90°而成。作者还是很有想象力的,这都能联系起来!
语法
海象运算符的语法格式是:
(variable_name:=expression)
这是一个新的赋值运算符,跟我们常见的=类似,一个变量名后面跟一个表达式。
用法
用于if-else条件表达式
常规写法:
a=5 if a>1: print('do sth!')
升级写法:
if a:=5>1: print('do sth!')
用于while循环
常规写法:
n=3 while n: print('do sth!') n-=1
升级写法:
n=3 while(n:=n-1)+1: print('do sth!')
这里加1是因为执行输出前n就减1了。
读取文件
常规写法:
fp=open("test.txt","r") while True: line=fp.readline() if not line: break print(line.strip()) fp.close()
升级写法:
fp=open("test.txt","r") while line:=fp.readline(): print(line.strip())
在合适的场景中使用海象运算符可以降低程序复杂性,简化代码,甚至可以提高程序的性能。
不适用场景
虽然海象运算符好用,但也不是所有场景都能用,还是有它的局限性的。
变量赋值
我们不能将=运算符与:=运算符一起使用,海象运算符只能是表达式的一部分:
a=5#Valid a:=5#InValid empty_list=[]#Valid empty_list:=[]#InValid
如果你这样写,编辑器会直接提示错误。
加减法
a+=5#Valid a:+=5#Invalid Lambda函数中的赋值表达式 (lambda:a:=5)#Invalid lambda:(a:=5)#Valid,but not useful (var:=lambda:5)#Valid
争议
关键字
海象运算符使用:=这个关键字,是大多数开发人员都不太喜欢的,这个关键字跟我们平时接触到的都不一样,创造者独辟蹊径。
我也不太喜欢这个,但是也尊重创造者的规则,毕竟人家给大家带来这么实用的运算符。
运算符名称
一些开发人员认为“海象运算符”这个名称太抽象了,不能清晰地表达出这个运算符的含义,几乎百分之百的人第一次看到这个名称,不会想到它的功能。
欢哥以为,既然没有一套规定的命名方法,作者取个有意义的名字也无可厚非吧。
总结
从此以后,我们的武器库中又多了一件常规武器,大家在打仗(卷别人)时,不要忘了使用,对程序的性能和代码简洁性都会有提升。
综上所述,这篇文章就给大家介绍完毕,希望可以给大家带来帮助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/128331.html
算法目前是比较火的一个领域了,其中,python作为算法的一种延伸,其应用范围还是比较的广泛的。那么,它其中有一个就是海象运算符,它的运算教程是什么呢?下面给大家一一的列举,大家要仔细的阅读哦。 前言 大家好,我是闲欢,你们的老相识呀! 海象可谓是最大的哺乳动物了,有人称它是北半球的土著居民。它圆头,短而阔的嘴巴,粗大的鼻子,上犬齿形成长达40厘米-90厘米的獠牙,每只4公斤以上。雄海象...
摘要:楚江数据是专业的互联网数据技术服务,现整理出零基础如何学爬虫技术以供学习,。本文来源知乎作者路人甲链接楚江数据提供网站数据采集和爬虫软件定制开发服务,服务范围涵盖社交网络电子商务分类信息学术研究等。 楚江数据是专业的互联网数据技术服务,现整理出零基础如何学爬虫技术以供学习,http://www.chujiangdata.com。 第一:Python爬虫学习系列教程(来源于某博主:htt...
阅读 889·2023-01-14 11:38
阅读 833·2023-01-14 11:04
阅读 684·2023-01-14 10:48
阅读 1887·2023-01-14 10:34
阅读 891·2023-01-14 10:24
阅读 750·2023-01-14 10:18
阅读 479·2023-01-14 10:09
阅读 519·2023-01-14 10:02