首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >冒号等于(:=)在Python语言中是什么意思?

冒号等于(:=)在Python语言中是什么意思?
EN

Stack Overflow用户
提问于 2014-09-24 00:31:11
回答 2查看 60.5K关注 0票数 103

更具体地说,:=操作数是什么意思?

有人能解释一下如何阅读这段代码吗?

代码语言:javascript
复制
node := root, cost = 0
frontier := priority queue containing node only
explored := empty set
EN

回答 2

Stack Overflow用户

发布于 2018-04-28 06:37:58

PEP572建议在Python语言中支持:=运算符,以允许在表达式中进行变量赋值。

Python 3.8中提供了此语法。

票数 80
EN

Stack Overflow用户

发布于 2020-09-14 08:10:00

此符号:=是Python语言中的赋值运算符(主要称为海象运算符)。简而言之,海象操作符压缩了我们的代码以使其更短。

下面是一个非常简单的例子:

代码语言:javascript
复制
# without walrus
n = 30
if n > 10:
    print(f"{n} is greater than 10")

# with walrus
if (n := 30) > 10:
    print(f"{n} is greater than 10")

这些代码是相同的(并且输出相同的内容),但是正如您所看到的,使用walrus操作符的版本被压缩到两行代码中,以使内容更紧凑

那么,为什么要使用海象操作符呢?

首先,不要觉得自己有责任。

我自己甚至很少用到这个。我只是使用海象运算符来压缩代码,主要是在使用正则表达式时。

你也可以找到你自己的用例。重要的是你对它有一个大致的概念,当你遇到像这样的问题时,你知道什么时候它可能会有帮助。

这就是到目前为止我如何在更高的层次上解释海象运算符的。希望你学到了点什么。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26000198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档