用python计算海里数代码,

  用python计算海里数代码,

  海象算子是在PEP 572中提出的,直到3.8版本发布。

  它最初的英文名字是Assignment Expressions,翻译过来就是赋值表达式,但现在它更普遍的名字是walrus operator,因为它看起来非常像海象。

  00-1010可能有些朋友对这个新功能比较陌生,那么这个海象算子有什么用呢?

  Golang中的条件语句可以在if中获得变量后直接判断变量,可以为你节省一行代码。

  导入“fmt”

  funcmain(){

  ifage:=2018岁

  Fmt。Println(“已经成年”)

  }

  }在Python 3.8之前,Python必须这样写。

  年龄=20岁

  ifage18:

  Print(已经长大)但是有了walrus运算符,你就可以和Golang一样了(如果你没学过Golang,那么这里注意,Golang中的:=叫做短变量声明,意思是声明和初始化,和Python中的3360=不是一个概念)

  如果(年龄:=20)18:

  当在使用walrus操作符之前使用while循环读取文件时,您可能会这样写。

  file=open(demo.txt , r )

  whileTrue:

  line=file.readline()

  ifnotline:

  破裂

  Print(line.strip())但是使用walrus operator,您可以做到这一点

  file=open(demo.txt , r )

  while(line :=file . readline()):

  Print(line.strip())用它来代替之前的while cycle编写更神奇。

  例如,要实现一个要求命令行输入密码并交互检查密码的代码,您可以这样写。

  whileTrue:

  p=输入(输入密码: )

  ifp==您的密码 :

  有了海象算子,这样写就比较舒服了。

  while(p :=input( enterthepassword : )!=youpassword:

  continue

1. 第一个用法:if/else

系列的每一篇文章几乎都能看到演绎的身影,这一篇依然如此。

  在编码的过程中,我非常喜欢使用派生。在…里

  简单的应用场景下,它简洁且不失高效。

  如下这段代码中,我会使用列表推导式得出所有会员中过于肥胖的人的 bmi 指数

  

members=[

  {"name":"小五","age":23,"height":1.75,"weight":72},

  {"name":"小李","age":17,"height":1.72,"weight":63},

  {"name":"小陈","age":20,"height":1.78,"weight":82},

  ]

  count=0

  defget_bmi(info):

  globalcount

  count+=1

  print(f"执行了{count}次")

  height=info["height"]

  weight=info["weight"]

  returnweight/(height**2)

  #查出所有会员中过于肥胖的人的bmi指数

  fat_bmis=[get_bmi(m)forminmembersifget_bmi(m)>24]

  print(fat_bmis)

输出如下

  

执行了1次

  执行了2次

  执行了3次

  执行了4次

  [25.88057063502083]

可以看到,会员数只有 3 个,但是 get_bmi 函数却执行了 4 次,原因是在判断时执行了 3 次,而在构造新的列表时又重复执行了一遍。

  如果所有会员都是过于肥胖的,那最终将执行 6 次,这种在大量的数据下是比较浪费性能的,因此对于这种结构,我通常会使用传统的for 循环 + if 判断。

  

fat_bmis=[]

  #查出所有会员中过于肥胖的人的bmi指数

  forminmembers:

  bmi=get_bmi(m)

  ifbmi>24:

  fat_bmis.append(bmi)

在有了海象运算符之后,你就可以不用在这种场景下做出妥协。

  

#查出所有会员中过于肥胖的人的bmi指数

  fat_bmis=[bmiforminmembersif(bmi:=get_bmi(m))>24]

最终从输出结果可以看出,只执行了 3 次

  

执行了1次

  执行了2次

  执行了3次

  [25.88057063502083]

这里仅介绍了列表推导式,但在字典推导式和集合推导式中同样适用。不再演示。

  海象运算符,是一个新奇的特性,有不少人觉得这样这种特性会破坏代码的可读性。确实在一个新鲜事物刚出来时是会这样,但我相信经过时间的沉淀后,越来越多的人使用它并享受它带来的便利时,这种争议也会慢慢消失在历史的长河中。

  


更多python相关文章,请关注python自学网。

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

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