在Python中,变量赋值后的尾部'=='有什么作用?

问题描述 投票:0回答:1

最近偶然发现在Python 3.7上运行的一行代码,以前没有见过,由于不知道该怎么搜索,所以在网上也找不到。

其背景类似于下面的内容。

def some_function(some_var: bool = None):

    if some_var is None:
        some_var = os.environ.get("SOME_ENV_VAR", False) == "true"

后面的双等号在这里有什么作用,为什么要用它?

python python-3.x variables
1个回答
3
投票

你可以把这段代码改写成下面的样子,以便更清楚地看到它在做什么。

if some_var is None:
   if os.environ.get("SOME_ENV_VAR", False) == "true":
       some_var = True
   else
       some_var = False

这一行。

os.environ.get("SOME_ENV_VAR", False) == "true"

是一个条件检查,然后 some_var 的结果将被分配。TrueFalse 检查。


0
投票

这里没有什么奇特的语法,只是一个二进制(如 "两个参数")运算符。== 只是一个二进制(如 "两个参数")运算符,就像 +and.

你可以看到这条线为 a = b == c就像 a = b + c 将意味着 "计算 b + c 并将其存储在 a",这意味着 "计算 b == c 并将其存储在 a即把 Truea 如果 b 等于 c, False 否则,。

© www.soinside.com 2019 - 2024. All rights reserved.