当前位置: 首页 > news >正文

wordpress语言文件夹/北京seo优化公司

wordpress语言文件夹,北京seo优化公司,好的做彩平图的网站,网站建设是设计师吗Python 版本发展非常快,如今最新的版本已经是 Pyhton 3.9,即便如此,有很多人甚至还停留在 3.6 或者 3.7,连 3.8 还没用上。很多 Python 3.8 的特性还没来得及了解,就已经成为旧知识了,比如今天要说的海象运…

3736ae236532ea2a0812c134edc7e066.png

Python 版本发展非常快,如今最新的版本已经是 Pyhton 3.9,即便如此,有很多人甚至还停留在 3.6 或者 3.7,连 3.8 还没用上。

很多 Python 3.8 的特性还没来得及了解,就已经成为旧知识了,比如今天要说的海象运算符。

海象运算符是在 PEP 572 被提出的,直到 3.8 版本合入发布。

它的英文原名叫 Assignment Expressions,翻译过来也就是 赋值表达式,不过现在大家更普遍地称之为海象运算符,就是因为它长得真的太像海象了。

90bcf15f03347acc06d8ec70748e5c5d.png

1. 第一个用法:if/else

可能有朋友是第一次接触这个新特性,所以还是简单的介绍一下这个海象运算符有什么用?

在 Golang 中的条件语句可以直接在 if 中运算变量的获取后直接对这个变量进行判断,可以让你少写一行代码

import "fmt"

func main() {
    if age := 20;age > 18 {
        fmt.Println("已经成年了")
    }
}

若在 Python 3.8 之前,Python 必须得这样子写

age = 20
if age > 18:
    print("已经成年了")

但有了海象运算符之后,你可以和 Golang 一样(如果你没学过 Golang,那这里要注意,Golang 中的 := 叫短变量声明,意思是声明并初始化,它和 Python 中的 := 不是一个概念)

if (age:= 20) > 18:
    print("已经成年了")

2. 第二个用法:while

在不使用 海象运算符之前,使用 while 循环来读取文件的时候,你也许会这么写

file = open("demo.txt", "r")
while True:
    line = file.readline()
    if not line:
        break
    print(line.strip())

但有了海象运算符之后,你可以这样

file = open("demo.txt", "r")
while (line := file.readline()):
    print(line.strip())

使用它替换以往的无限 while 循环写法更为惊艳

比如,实现一个需要命令行交互输入密码并检验的代码,你也许会这样子写

while True:
   p = input("Enter the password: ")
   if p == "youpassword":
      break

有了海象运算符之后,这样子写更为舒服

while (p := input("Enter the password: ")) != "youpassword":
   continue

3. 第三个用法:推导式

这个系列的文章,几乎每篇都能看到推导式的身影,这一篇依旧如此。

在编码过程中,我很喜欢使用推导式,在简单的应用场景下,它简洁且不失高效。

如下这段代码中,我会使用列表推导式得出所有会员中过于肥胖的人的 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

def get_bmi(info):
    global count
    count += 1

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

    height = info["height"]
    weight = info["weight"]

    return weight / (height**2)

# 查出所有会员中过于肥胖的人的 bmi 指数
fat_bmis = [get_bmi(m) for m in members if get_bmi(m) > 24]

print(fat_bmis)

输出如下

执行了 1 次
执行了 2 次
执行了 3 次
执行了 4 次
[25.88057063502083]

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

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

fat_bmis = []

# 查出所有会员中过于肥胖的人的 bmi 指数
for m in members:
    bmi = get_bmi(m)
    if bmi > 24:
        fat_bmis.append(bmi)

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

# 查出所有会员中过于肥胖的人的 bmi 指数
fat_bmis = [bmi for m in members if (bmi := get_bmi(m)) > 24]

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

执行了 1 次
执行了 2 次
执行了 3 次
[25.88057063502083]

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

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

原创文都已传至 Github:https://github.com/iswbm/PythonCodingTime

本文永久博客链接:http://python.iswbm.com/en/latest/c01/c01_42.html

最后,想看更多这个系列的朋友,请帮忙 转发文章、或者 点个在看,只有看的人多了,我的更新速度也才能快起来。

(完)

看完本文有收获?请转发分享给更多人

关注「Python那些事」,做全栈开发工程师

ada7de9be7ce279a5192beb82a2886f7.png

66a6b271138ee18ddc05ef55a18c9e64.png

点「在看」的人都变好看了哦
http://www.jmfq.cn/news/5279437.html

相关文章:

  • 网站开发价目表/武汉网站建设推广公司
  • 网站设计套用模板/培训网站排名
  • 做类似知乎网站/网络营销工作内容是什么
  • 做网站你给推广/seo推广知识
  • 肇庆网站设计/技能培训班
  • 百度网站搜索关键字/百度平台官网
  • 新余集团网站建设/网络营销的应用研究论文
  • 做代码的网站/百度官方营销推广平台加载中
  • 西安专业网站建设公司哪家好/怎么制作个人网页
  • 网站建设英语/seo每日一贴
  • 网上注册公司系统/seo接单平台
  • 校园网站建设案例/各大网站收录入口
  • 个人网站做接口可以么/端口扫描站长工具
  • 富阳做网站公司/抖音运营推广策划方案
  • 做淘宝券推广的网站有哪些/电商网站搭建
  • 肥城网站网站建设/重庆百度快照优化
  • 青岛网站制作工作室/销售
  • 个人网站花多少钱/杭州疫情最新情况
  • 2016网站设计欣赏/拼多多代运营收费标准
  • 网站建设公司销售前景/chatgpt网址
  • 蚂蚁搬家公司官方网站/网站怎样才能在百度被搜索到
  • 石家庄百度关键词搜索/百度关键词seo推广
  • 西安教育类网站建设公司/职业培训机构排名
  • 成品网站灬源码1688/上海百度
  • 重庆市城乡建设和管理委员会网站/搜百度盘
  • 安全的政府网站建设提供商/2023近期舆情热点事件
  • 快速做网站的方法/seo评测论坛
  • 网站的ftp地址是什么/自媒体怎么入门
  • seo 新老网站替换 域名不变/属于b2b的网站有哪些
  • 建设网站架构服务器需要多少钱/长沙做网站推广公司咨询