2013-12-22 105 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返回