python中检测某个变量是否有定义

1.内置函数locals()
    'testvar'   in   locals().keys()

2.使用内置函数dir()

    'testvar'   in   dir()

3.使用内置函数vars()

    vars().has_key('testvar')

4.try except方法:

def isset(v): 
   try : 
     type (eval(v)) 
   except : 
     return  0 
   else : 
     return  1 

if isset('user_name'): 
  print 'user_name is defined'
else
  print 'user_name is not defined'



[python] view plain copy

    #testvar未定义  
    In [1]: 'testvar' in locals().keys()  
    Out[1]: False  
      
    In [2]: 'testvar' in dir()  
    Out[2]: False  
      
    In [3]: vars().has_key('testvar')  
    Out[3]: False  
      
    #定义testvar  
    In [4]: testvar=1  
      
    In [5]: 'testvar' in locals().keys()  
    Out[5]: True  
      
    In [6]: 'testvar' in dir()  
    Out[6]: True  
      
    In [7]: vars().has_key('testvar')  
    Out[7]: True




你可能感兴趣的:(Python—错误)