Python反射机制

Python反射机制
摘要由CSDN通过智能技术生成

1.Python反射机制

反射使得程序具有在运行时动态修改自己的结构和行为的能力。比如导入模块、调用函数等等,这些都是python的反射机制,是一种编程方法、设计模式的体现,凝聚了高内聚、松耦合的编程思想,不能简单的用执行字符串来代替。

python的四个重要内置函数:getattr、hasattr、delattr和setattr较为全面的实现了基于字符串的反射机制。他们都是对内存内的模块进行操作,并不会对源文件进行修改。

内建函数:

  • getattr(object,name[,default]) 通过name返回object的属性值,当属性不存在,将属性不存在,将使用default返回,如果没有default,则抛出AttributeError,name必须是字符串
  • setattr(object,name,value) object的属性,则覆盖,不存在则新增
  • hasaattr(object,name) 判断对象是否有这个名字的属性,name必须为字符串

2.getattr() 函数用于返回一个对象属性值

getattr(object, name[, default])

参数:
- object – 对象。
- name – 字符串,对象属性。
- default – 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。

class A(object):
    bar = 1
    def my_function(name):
        print('hell0 : ', name)
a = A()
# 属性部分
print(getattr
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值