服务器之家

服务器之家 > 正文

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

时间:2020-08-13 23:54     来源/作者:laozhang

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

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

方法如下:

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

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

?
1
'testvar'   in   locals().keys()

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

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

?
1
'testvar'   in   dir()

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

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

?
1
vars().has_key('testvar')

举例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#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个内置函数都可以实现。

?
1
2
3
4
5
6
7
8
9
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怎么判断一个变量是否已经设置内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.py.cn/jishu/jichu/19840.html

标签:

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国 2021-05-08
返回顶部