我如何检查是否有全局或局部变量
How can i check if there is a global or local variable
我想检查该变量是否存在,如果存在则打印它。
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! ")
内置方法 locals()
和 globals()
return local/global 变量名及其值的字典。
if 'z' in locals():
print(z)
try:
print(z)
except NameError:
print("No variable named z!")
此代码尝试打印 z,如果没有名为 z 的变量,它将 运行 except.
下的代码
最直接的方法是尝试使用它,如果失败则做其他事情:
try:
something_with(z)
except NameError:
fallback_code()
你也可以查locals()
和globals()
的词典
if 'z' in locals() or 'z' in globals():
print(z)
else:
fallback_code()
我想检查该变量是否存在,如果存在则打印它。
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! ")
内置方法 locals()
和 globals()
return local/global 变量名及其值的字典。
if 'z' in locals():
print(z)
try:
print(z)
except NameError:
print("No variable named z!")
此代码尝试打印 z,如果没有名为 z 的变量,它将 运行 except.
下的代码最直接的方法是尝试使用它,如果失败则做其他事情:
try:
something_with(z)
except NameError:
fallback_code()
你也可以查locals()
和globals()
if 'z' in locals() or 'z' in globals():
print(z)
else:
fallback_code()