怎么说"if var:"即使"var"根本不存在?

2 python python-2.7

这样可以正常工作:

a = 1
if a:
  b = a
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

if a:
  b = a
Run Code Online (Sandbox Code Playgroud)

鉴于我们明确表示,它不会像执行此"if"语句一样执行.

 "if a exists" 
Run Code Online (Sandbox Code Playgroud)

那为什么会出错呢?如果它不存在则只是在if语句的参数内不做任何事情.

UPDATE

事实证明"如果一个"意味着......"如果一个值"意味着在python中.

我正在寻找"如果一个存在然后前进"的等价性

Sim*_*ser 7

你可以使用locals():

if 'a' in locals():
    # variable 'a' is defined
Run Code Online (Sandbox Code Playgroud)

您还可以使用Python的原则,即要求宽恕比允许更容易:

try:
    b
    # if we get here, variable 'b' is defined
except NameError:
    # variable 'b' is not defined
Run Code Online (Sandbox Code Playgroud)

文档所述:

比许可更容易请求宽恕.这种常见的Python编码风格假设存在有效的键或属性,并且如果假设被证明是错误则捕获异常.这种干净和快速的风格的特点是存在许多try和except语句.