位置: 编程技术 - 正文

浅谈python中的getattr函数 hasattr函数(python中的get方法)

编辑:rootadmin

推荐整理分享浅谈python中的getattr函数 hasattr函数(python中的get方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python的__get__,python中get()函数,python 中get,python的getrandbits,python的getrandbits,python 中get,python gets,python 中get,内容如对您有帮助,希望把文章链接给更多的朋友!

hasattr(object, name)

作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的)。

示例:

getattr(object,name,default):

作用:返回object的名称为name的属性的属性值,如果属性name存在,则直接返回其属性值;如果属性name不存在,则触发AttribetError异常或当可选参数default定义时返回default值。

这个方法最主要的作用是实现反射机制。也就是说可以通过字符串获取方法实例。这样,你就可以把一个类可能要调用的方法放在配置文件里,在需要的时候动态加载。

下面我们使用小例子来说明它们的用法:

浅谈python中的getattr函数 hasattr函数(python中的get方法)

当我定义一个自定义模块,去调用其中的方法的时候,使用if去判断时,如果模块内用很多方法,会大大影响开发的效率,代码冗余差,显然这是不可取的。下面我们使用hasattr()函数来实现我们的需求:

示例如下:

我们导入一个自定义模块后,gatattr可以根据输入的内容动态加载,利用hasattr()函数来判断用户输入的是否存在,不存在则调用自定义方法。

是不是感觉和我们打开网址URL很类似啊!

上一个示例有一个问题,在实际情况中,我们的功能函数可能存放在很多模块中,每一个都需要单独导入,那我们可不可以利用getattr()函数去动态加载模块呢?当然可以啦!

请看示例:

是不是感到getattr很强大啊。其实,getattr()就是实现python反射的一块积木,结合其它方法如setattr(),dir() 等,我们可以还可以做出很多有趣的事情。

以上这篇浅谈python中的getattr函数 hasattr函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

全面了解Python的getattr(),setattr(),delattr(),hasattr() 1.getattr()函数是Python自省的核心函数,具体使用大体如下:classA:def__init__(self):self.name='zhangjing'#self.age=''defmethod(self):print"methodprint"Instance=A()printgetattr(Inst

Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程 使用Flask-SQLAlchemy管理数据库Flask-SQLAlchemy是一个Flask扩展,它简化了在Flask应用程序中对SQLAlchemy的使用。SQLAlchemy是一个强大的关系数据库框架,支持一些

Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程 我们在升级系统的时候,经常碰到需要更新服务器端数据结构等操作,之前的方式是通过手工编写altersql脚本处理,经常会发现遗漏,导致程序发布到服

本文链接地址:https://www.jiuchutong.com/biancheng/387631.html 转载请保留说明!

上一篇:深入解析Python中的线程同步方法(python解析chunked)

下一篇:全面了解Python的getattr(),setattr(),delattr(),hasattr()(python的介绍)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络