请帮助解决问题。
#а = 'dg'
try:
a
except:
print('y')
else:
print('n')
以下代码应检查全局范围中是否存在变量。由于变量“a”不存在,则屏幕应显示“n”。但是是“y”
答案 0 :(得分:2)
我认为你倒置了'y'
和'n'
:
try:
a
except NameError:
print('n')
else:
print('y')
如果您尝试使用a
而未定义它,则会引发错误并打印'n'
。
答案 1 :(得分:1)
实际上,您正在检查全局和本地范围,但这没关系。
try:
a
except NameError:
print('n')
else:
print('y')
Python按顺序在所有可用命名空间中搜索该变量:
答案 2 :(得分:0)
如何直接查看globals()命名空间字典:
>>> n = 'print'
>>> if 'n' in globals():
... print 'n'
... else:
... print 'y'
...
n
>>> del n
>>> if 'n' in globals():
... print 'n'
... else:
... print 'y'
...
y
>>>
对于本地人,您也可以登录locals()
: