位置: 编程技术 - 正文

Python中getattr函数和hasattr函数作用详解(python中getattr函数例子)

编辑:rootadmin

推荐整理分享Python中getattr函数和hasattr函数作用详解(python中getattr函数例子),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python getattr和getattribute,python中getattribute,python getattr setattr,python3 getattr,python中getattribute,python getattr setattr,python中getattr函数例子,Python中getattr函数,内容如对您有帮助,希望把文章链接给更多的朋友!

hasattr(object, name)

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

示例:

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

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

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

Python中getattr函数和hasattr函数作用详解(python中getattr函数例子)

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

示例如下:

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

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

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

请看示例:

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

浅析Python中的getattr(),setattr(),delattr(),hasattr() getattr()函数是Python自省的核心函数,具体使用大体如下:获取对象引用getattrGetattr用于返回一个对象属性,或者方法classA:def__init__(self):self.name='zhangjing'#s

详解Python中的Descriptor描述符类 描述符是调和属性访问的一个类。描述符类可用来获取、设置或删除属性值。描述符对象是在类定义的时候构建在一个类中的。一般来说,描述符是一

深入解析Python中的线程同步方法 同步访问共享资源在使用线程的时候,一个很重要的问题是要避免多个线程对同一变量或其它资源的访问冲突。一旦你稍不留神,重叠访问、在多个线

标签: python中getattr函数例子

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

上一篇:Python模块包中__init__.py文件功能分析(python 包 __init__)

下一篇:浅析Python中的getattr(),setattr(),delattr(),hasattr()(python中get()函数)

  • 应付职工薪酬纳税调整
  • 组成计税价格包括什么
  • 支付利息现金流量表中什么增加
  • 管理费用结转本年利润,账簿怎么登
  • 购买水果属于什么费用
  • 企业购买理财都需先交税再提现吗
  • 出资款在现金流中怎么体现
  • 代扣代缴增值税是什么意思
  • 计划成本法会计分录例题
  • 存货非正常损失的纳税筹划
  • 品牌活动推广文案
  • 生产成本里面的工会经费
  • 商场交的质保金做什么会计科目?
  • 会员充值赠送
  • 电费专票抵扣需要发票吗
  • 股票收益收税吗
  • 买金税盘怎么做账,抵扣的时候
  • 税号里面字母是大写吗
  • 房地产开发企业预收款预缴增值税
  • 研发支出资本化支出在报表哪里
  • 多计提的费用怎么调整
  • 有业务往来的两家公司可以投一个公司吗
  • php生成文件流
  • 360devm.sys是什么文件
  • php返回对象
  • 企业所得税如何更正申报
  • 人工智能aima
  • 没有利润,能否开发票
  • 工业会计账务处理
  • 前端项目部署到nginx
  • 核心概念英文翻译
  • Yii2使用swiftmailer发送邮件的方法
  • php计算圆的周长和面积代码
  • uniapp和vue哪个好
  • 2021高频前端面试题汇总
  • 企业资产损失税前扣除管理办法最新
  • 企业有代扣代缴个税义务
  • 酒店业营业税税率
  • 进口商品会计分录怎么写
  • 企业折旧申报备案怎么写
  • 发票报销是个人还是单位
  • 工资计提和发放能不能在一个月
  • 支付水电费如何做账务处理
  • 织梦cms官网
  • 或有对价的确认条件
  • 已申报营业税未开发票
  • 建筑公司是可以开在住宅小区吗
  • 航天信息开票软件密码忘记了怎么办
  • 电梯折旧费计算方法
  • 样品费计入
  • 房地产企业的业务范围
  • 建安行业外地预审要多久
  • 未使用的固定资产计提折旧计入什么科目
  • 公司既没有收入怎么办
  • 企业发放职工薪酬的账务处理
  • 企业购买的土地计入什么科目
  • 预期信用损失率变更属于会计估计变更吗
  • 新成立的分公司怎么样
  • 房地产会计相关内容
  • win8.1开机密码忘了
  • Win10 Mobile Build 10549正式推送:须回滚到WP8.1升级
  • windows dns server
  • linux datetime命令
  • 要使用windows
  • win7 便签
  • created directory cfg怎么办
  • winxp如何设置文件共享
  • mediaexplorer是什么意思
  • windows8更新不了怎么办
  • linux开发android好处
  • 最简单的游戏开发工具
  • 注释标签的内容会显示在浏览器窗口中
  • unity projector
  • ubuntu安装步骤详解
  • jquery实现下拉菜单
  • 一个简单的javaweb项目
  • 打印缴纳社保电子缴税凭证
  • 就业失业登记证网上申请
  • 消费税申报详细操作流程
  • 公共基础设施项目所得税优惠目录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设