当前位置: 首页 > 后端技术 > Python

Python海象算子,强大!_0

时间:2023-03-26 14:44:58 Python

海象是最大的哺乳动物。有人称其为北半球的“土著”居民。头圆,嘴短而宽,鼻粗,上犬齿形成獠牙,长40~90厘米,每颗重4公斤以上。雄性海象身长可达4米,体重可达2吨。海象喜欢群居,成百上千只聚集在一起。海象像没有活力的老人一样眯着眼睛。他们喜欢晚睡。它们一生的大部分时间都躺在冰上,也可以睡在水里。太神奇了。作为996的滚农,我很羡慕他们的生活,真想像他们一样躺平。好了,废话不多说,继续滚!今天给大家带来一个以海象命名的算子——海象算子。Python海象运算符在PEP572中提出,并在Python3.8中合并并发布。海象运算符的英文原名是AssignmentExpresions,即赋值表达式。海象表达式由一个:和一个=组成,即:=。我们一般称它为海象算子,因为它看起来像一只旋转了90°的海象。作者想象力还是很丰富的,这都能连起来!语法海象运算符的语法格式是:(variable_name:=expression)这是一个新的赋值运算符,类似于我们常见的=,一个变量名后面跟一个表达式。用法用于if-else条件表达式正则写法:a=5ifa>1:print('dosth!')升级写法:ifa:=5>1:print('dosth!')forwhile循环常规写法:n=3whilen:print('dosth!')n-=1升级写法:n=3while(n:=n-1)+1:print('dosth!')加1的原因这里是n在执行输出之前减1。读取文件的正则写法:fp=open("test.txt","r")whileTrue:line=fp.readline()ifnotline:breakprint(line.strip())fp.close()升级写法:fp=open("test.txt","r")whileline:=fp.readline():print(line.strip())在适当的场景下使用海象算子可以降低程序复杂度,简化代码,并且可以甚至提高程序的性能。不适用场景海象算子虽然简单易用,但并非适用于所有场景,仍然有其局限性。我们不能在变量赋值中使用=运算符和:=运算符,海象运算符只能是表达式的一部分:a=5#Valida:=5#InValidempty_list=[]#Validempty_list:=[]#InValid如果这样写,编辑器会直接提示错误。加法和减法a+=5#Valida:+=5#赋值表达式InvalidLambdafunction(lambda:a:=5)#Invalidlambda:(a:=5)#Valida:+=5#Valida:=lambda:5)#Valid有争议的关键字walrusoperatoruses:=大多数开发人员不喜欢这个关键字。这个关键词和我们平时接触到的不同,创作者有独到的手法。我不太喜欢这个,但我也尊重创作者的规定,毕竟他们给大家带来了这么实用的算子。OperatorName一些开发者觉得“WalrusOperator”这个名字过于抽象,无法清晰表达这个运算符的含义,几乎100%的人都是第一次看到这个名字,并没有想到它的作用。欢哥认为,既然没有一套规定的命名方式,那么作者选择一个有意义的名字无可厚非。总结从那时起,我们的武器库中又增加了一种常规武器。打仗的时候不要忘记使用它。它将提高程序的性能和代码的简洁性。熟练使用后,说不定你就有时间睡个懒觉晒晒太阳了!以上就是本次分享的全部内容。如果觉得文章还不错,请关注公众号:Python编程学习圈,每日干货分享,了解更多编程技术知识。