如何检查是否存在全局变量或局部变量

时间:2016-05-29 17:11:12

标签: python function variables global local

我想检查该变量是否存在,如果存在则将其打印出来。

x = 10 

def example(): 

z = 5

print("X (Global variable) : ",x) 
print("Z (example() : ",z)

example() 

print(z) 

当我添加print(z)时,它显然会引发错误,因为没有名为z的变量。

谢谢你的回答。 (特别是Jasper,kevin和icantcode)

x = 10 
def example(): 

z = 5

example() 


try:
    print(z)
except NameError:
    print("There is no global variable called Z! ")

3 个答案:

答案 0 :(得分:6)

内置方法locals()globals()返回本地/全局变量名称及其值的字典。

if 'z' in locals():
    print(z)

答案 1 :(得分:3)

最直接的方法是尝试使用它,如果失败则执行其他操作:

try:
    something_with(z)
except NameError:
    fallback_code()

您还可以查看locals()globals()

的词典
if 'z' in locals() or 'z' in globals():
    print(z)
else:
    fallback_code()

答案 2 :(得分:0)

try:
    print(z)
 except NameError:
    print("No variable named z!")

此代码尝试打印z,如果没有名为z的变量,它将运行except下的代码。