python 海象操作符,海象运算符有什么作用

  python 海象操作符,海象运算符有什么作用

  Python walrus操作符是在PEP572中提出的,并在Python 3.8版本中合并和发布。本文将详细告诉您Python walrus运算符的用法。有兴趣的可以看看。

  00-1010序言语法用法用于if-else条件表达式用于while循环读取文件不适用于Lambda函数中的场景变量赋值加法和减法赋值表达式争议关键字运算符名称摘要

  

目录

  大家好,我是仙焕,你们的老相识!

  海象是最大的哺乳动物,有人称之为北半球的“土著”居民。它有一个圆头,短而宽的嘴,厚厚的鼻子,它的上犬齿形成长达40厘米-90厘米的尖牙,每个重达4公斤以上。雄性海象可以达到4米长,2吨重。海象是群居的,成千上万的头聚集在一起。

  海象的眼睛像缺乏活力的老人一样眯着。他们喜欢睡懒觉。它们一生的大部分时间都躺在冰上,也可以睡在水里。太神奇了。

  作为一个996的农民,我很羡慕他们的生活,我真想和他们一样平躺。

  好了,言归正传,继续滚!今天给大家带来一个以海象命名的运营商,——海象运营商。

  Python walrus操作符是在PEP 572中提出的,并在Python 3.8版本中合并和发布。

  walrus算子的英文原名是assignment expansions,即赋值表达式。海象表达式由一个:和一个=,即:=组成。我们一般称之为海象算子(walrus operator),因为它看起来像一只旋转了90的海象。作者还是很有想象力的,都可以联系起来!

  

前言

  walrus运算符的语法格式是:

  (变量名称:=表达式)

  这是一个新的赋值操作符,类似于我们常见的=,变量名后跟一个表达式。

  

语法

  

用法

  一般写作:

  a=5

  ifa1:

  print(dosth!)

  升级写作:

  ifa:=51:

  print(dosth!)

  

用于 if-else 条件表达式

  一般写作:

  n=3

  whilen:

  print(dosth!)

  n-=1

  升级写作:

  n=3

  而(n:=n-1) 1:

  print(dosth!)

  这里加1是因为在执行输出之前n减1。

  

用于 while 循环

  一般写作:

  fp=open(test.txt , r )

  whileTrue:

  line=fp.readline()

  ifnotline:

  破裂

  print(line.strip())

  fp.close()

  升级写作:

  fp=open(test.txt , r )

  while line :=FP . readline():

  print(line.strip())

  在适当的场景中使用walrus算子可以降低程序的复杂度,简化代码,甚至提高程序的性能。

  

读取文件

  海象算子虽然简单易用,但并不能在所有场景下都使用,还是有其局限性的。

  

不适用场景

  我们不能在:=运算符中使用=运算符,walrus运算符只能是表达式的一部分:

  a=5 #有效

  a:=5 #无效

  empty _ list=[]#有效

  empty _ list :=[]#无效

  这样写的话,编辑器会直接提示错误。

  

变量赋值

  a=5 #有效

  a:=5 #无效

  

加减法

  (lambda : a :=5)#无效

  lambda :(a :=5)#有效,但无用

  (var :=lambda :5)#有效

  

Lambda函数中的赋值表达式

  

争议

  walrus操作符使用了关键字:=,这是大多数开发人员不喜欢的。这个关键词和我们平时接触到的不一样,创作者有独特的方式。

  我也不喜欢这样,但我也尊重造物主的规则。毕竟人家给你带的是这么实际的运营商。

  

关键字

  有些开发者认为“海象算子”这个名字太抽象,无法清晰表达这个算子的意思。几乎100%的人第一次看到这个名字不会想到它的功能。

  欢哥觉得既然没有规定命名方法,作者选择一个有意义的名字也无可厚非。

  

运算符名称

  从那时起,我们的武库中又多了一种常规武器。当你在战斗(涉及到别人)的时候,别忘了使用它,这会提高程序的性能和代码的简单性。

  关于Python walrus操作符使用教程的这篇文章到此为止。有关Python walrus operator的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: