繁体   English   中英

检查是否存在多个变量的更简单方法?

[英]Simpler way to check if multiple variables exist?

我知道一种方法如何检查一个变量是否存在:

try:
    my_var
except NameError:
    # not exist

我需要检查许多变量是否存在,并且只有在所有变量都存在时才采取行动。 编写一系列try..except或包装一些try..except的一个看起来相当难看。 有什么好方法可以检查许多变量吗?

如果没有办法,您可以检查dir()的返回值。 sets可能会派上用场。

a = 1
b = 2
d = 3

set_vars = {'a', 'b', 'c', 'd'} # declare the variable names to check for
set_vars_exist = set_vars.intersection(set(dir()))
all_vars_exist = set_vars_exist == set_vars

print(all_vars_exist)
# False, because c is missing

请注意,此代码可能会出现一些异常情况(取决于dir()的 output )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM