1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

Python海象运算符的用法教程

Python海象运算符使用教程

Python海象运算符提出的时间是比较得我早的,所以对一些具体的用法,还是需要进行琢磨的,那么,它的用法教程到底是什么呢?下文将详细解答一下。

Python海象运算符的用法教程

海象运算符的语法和用法

Python海象运算符是在PEP572中提出,并在Python3.8版本并入和发布。海象运算符的英文原名叫AssignmentExpresions,即赋值表达式。海象表达式由一个:和一个=组成,即:=。我们一般称作walrusoperator(海象运算符),因为它看起来就是一个海象旋转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

海象运算符的争议

海象运算符使用:=这个关键字,是大多数开发人员都不太喜欢的,这个关键字跟我们平时接触到的都不一样,创造者独辟蹊径。虽然有些人觉得“海象运算符”这个名称太抽象了,不能清晰地表达出这个运算符的含义,几乎百分之百的人第一次看到这个名称,不会想到它的功能。但欢哥认为,既然没有一套规定的命名方法,作者取个有意义的名字也无可厚非吧。

总结

从此以后,我们的武器库中又多了一件常规武器,大家在打仗(卷别人)时,不要忘了使用,对程序的性能和代码简洁性都会有提升。综上所述,这篇文章就给大家介绍完毕,希望可以给大家带来帮助。

闲欢,本文的作者,996的卷农,非常羡慕海象们的躺平生活。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7199.html