2013-12-22 80 views
0

我想检查的是已经定义的名称“my_name”(这是我的类对象)。我如何能做到这一点瓦特/使用try-情况除外:检查名称是否被定义?

try: 
    if c: 
     print("ok") 
except NameError: 
    print("no") 

回答

1
if 'c' in locals(): 
    print ('Ok') 
else: 
    print('no') 

如果您需要检查供全球使用全局变量(),而不是

1

如果你不想使用try/except,你可以查找的locals()globals()。这样的检查会是这样的:

if locals().get('c', globals().get('c')) is None: 
    print "no" 
else: 
    print "ok" 

if条件下的通话将首先寻找局部变量,如果你的变量没有找到,随后将查找全局变量。如果在一个或另一个找不到变量,None返回