python判断一个变量是否已经设置的方法
作者:laozhang 发布时间:2022-06-09 19:33:15
标签: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
来源:https://www.py.cn/jishu/jichu/19840.html


猜你喜欢
- 这里是两个用于数组中查找重复元素的demo,可以看看啦<!DOCTYPE html><html lang="en
- 含义切片是一个种特殊的数组。是对数组的一个连续片段的引用,所以切片是一个引用类型。切片可以是数组中的一部分,也可以是由起始和终止索引标识的一
- 最近开始学习Qt,结合之前学习过的caffe一起搭建了一个人脸识别登录系统的程序,新手可能有理解不到位的情况,还请大家多多指教。我的想法是用
- 本文实例讲述了php实现汉字验证码和算式验证码的方法。分享给大家供大家参考。具体分析如下:大家知道简单数字或者字母验证码很容易被破解,但是算
- 做 Web 开发少不了要与模板引擎打交道。我陆续也接触了 Python 的不少模板引擎,感觉可以总结一下了。一、首先按照我的熟悉程度列一下:
- 一、前言越来越多的网站和App开始为用户搭建签到系统,以此来吸引和留住用户。签到系统是一种轻量、互动性强的营销方式,通过用户签到获取免费权益
- /* --注意:准备数据(可略过,非常耗时) CREATE TABLE CHECK1_T1 ( ID INT, C1 CHAR(8000)
- 分享人:月漓作为交互设计师,你是否在一个项目中花费大量的时间来沟通、修改、明确需求?其实这些前期工作(设计原型前)是我们和PD、运营、开发之
- Python怎么生成一个迭代器,对于需要处理大型数据来说,迭代器是必不可少的,这样可节省大量内存空间,更加合理操作数据。首先我们打开编辑器,
- 1、代码1:(1)进度条等显示在主窗口状态栏的右端,代码如下:from PyQt5.QtWidgets import QMainWindow
- 本月第一天日期SELECT FirstDayOfCurrentMonth = dateadd(mm,datediff(mm,0,getdat
- 拿去给自己所思所念之人from turtle import *import timesetup(500, 500, startx=None,
- 本文实例讲述了Node.js API详解之 Error模块用法。分享给大家供大家参考,具体如下:Node.js API详解之 ErrorNo
- 本文实例讲述了PHP获取二叉树镜像的方法。分享给大家供大家参考,具体如下:问题操作给定的二叉树,将其变换为源二叉树的镜像。解决思路翻转二叉树
- 1. 常用模块# 连接数据库connect()函数创建一个新的数据库连接对话并返回一个新的连接实例对象PG_CONF_123 = {
- 最近在看java编程思想,看到类型信息这一章,讲到了类的信息以及反射的概念。顺便温故一下php的反射东西。手册是这样说的:"PHP
- 今天的这篇文章呢,小编来介绍一下如何通过Python来创建各种形式的文件,这里包括了文本文件CSV文件Excel文件压缩文件XML文件JSO
- 导语昨天看到有留言竟然说我是月更博主,我明明更新地这么勤快(心虚.jpg)。看吧,昨天刚更新过,今天又来更新了。今天还是带大家写个小游戏吧,
- 在Python3环境下,调试实现了《大话设计模式》中简单工厂模式,通过定义单独的工厂类,完成对具体的产品的实例化,参考链接具体实现见代码:#
- 最近github上开源了一个"新语言"vlang,火的不得了,我不信,于是乎,尝试了一下,真香。以下内存均来自https