首页 > 解决方案 > 在 Python 中变量赋值后的尾随 '==' 有什么作用?

问题描述

我最近偶然发现了在 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"

尾随双等号在这里做什么以及为什么要使用它?

标签: pythonpython-3.xvariables

解决方案


您可以将这段代码重写如下,以更清楚地看到它在做什么。

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将分配True/False检查的结果。


推荐阅读