python判断一个变量是否已经设置的方法

    python判断一个变量是否已经设置的方法:可以使用locals()函数来进行判断。

    locals()函数会以字典类型返回当前位置的全部局部变量,具体使用方法如:【‘testvar’ in locals().keys()】。

    方法如下:

    第一种方法使用内置函数locals():

    locals():获取已定义对象字典

    
    'testvar'   in   locals().keys()

    第二种方法使用内置函数dir():

    dir():获取已定义对象列表

    
    'testvar'   in   dir()

    第三种方法使用内置函数vars():

    vars():获取已定义对象字典

    
    vars().has_key('testvar')

    举例:

    
    #testvar未定义
    print 'testvar' in locals().keys()
    #输出:False
    
    print 'testvar' in dir()
    #输出:False
    
    print vars().has_key('testvar')
    #输出:False
    
    #定义testvar
    testvar=1
    
    print 'testvar' in locals().keys()
    #输出:True
    
    print 'testvar' in dir()
    #输出:True
    
    print vars().has_key('testvar')
    #输出:True
    -------------------------------------
    ##说明:
        如果定义的函数有参数,但是调用时没有参数,则会报其它错误,而不是变量未定义的错误!!!
    def func1 (srcdir):
        print srcdir
    
    try:
        func1()
    except:
        print "1111"

    内容扩展:

    Python判断一个变量是否存在

    在调用一个变量的时候,如果这个变量没有被定义,那么python会报错。

    要解决的方法也很简单,就是事先给变量赋一个空值。

    但是也可以通过调用系统的内置函数来判断一个变量名是否已经被定义了。有3个内置函数都可以实现。

    
    res1 = 'test' in locals().keys()
    res2 = 'test' in dir()
    res3 = 'test' in vars().keys()
    print(res1,res2,res3)  # 变量test暂时还没有定义,返回False
    test = ""  # 定义变量test
    res4 = 'test' in locals().keys()
    res5 = 'test' in dir()
    res6 = 'test' in vars().keys()
    print(res4,res5,res6)  # 变量test已经被定义了,返回True

    到此这篇关于python判断一个变量是否已经设置的方法的文章就介绍到这了,更多相关python怎么判断一个变量是否已经设置内容请搜索lingkb以前的文章或继续浏览下面的相关文章希望大家以后多多支持lingkb!