python判断变量是否存在的几种方法

Posted by FanHao on 2020-05-10

以下方法在python3.6中测试OK。

####方法一:

使用try: … except NameError: …

1
2
3
4
5
6
7
# var未定义
try
var
except NameError:
var_exists = False
else:
var_exists = True

方法二:

使用内置函数locals(),获取已定义对象字典。

1
2
3
4
5
6
7
# testvar 未定义
>>> 'testvar' in locals().keys()
False
# 定义testvar
>>> testvar = 'a'
>>> 'testvar' in locals().keys()
True

方法三:

使用内置函数dir()

1
2
3
4
5
6
7
# testvar 未定义
>>> 'testvar' in dir()
False
# 定义testvar
>>> testvar = 'a'
>>> 'testvar' in dir()
True

方法四:

使用内置函数vars()

1
2
3
4
5
6
7
# testvar 未定义
>>> 'testvar' in vars()
False
# 定义testvar
>>> testvar = 'a'
>>> 'testvar' in vars()
True