python反射及应用

Python反射

什么是反射?

假设我们不是第一版开发人员,我们是第二次接受该代码的人.

那么我们就不知道之前第一个人写的类或者对象,或者模块中,有没有该属性,方法;

那么我们需要怎么做呢?

我们可以通过反射,反过来通过一个同名的字符串去判断该成员属性,或者成员方法是否存在于对象或者模块中;

反射本质

核心本质其实就是利用字符串的形式去对象(类/方法/模块)中操作(查找/获取/删除/添加)成员(属性/方法),一种基于字符串的事件驱动!

比如导入模块、调用函数等等,这些都是python的反射机制,是一种编程方法、设计模式的体现,凝聚了高内聚低耦合的编程思想,不能简单的用执行字符串来代替。

   class A:

  COOKIE = None

   a = new A()

setattr(A,'COOKIE','12345')   #setattr 设置属性值
print(getattr(A, 'COOKIE'))  # getattr 获取属性值
print(delattr(a, 'COOKIE'))  # delattr 删除属性
print(hasattr(a, 'COOKIE'))  # hasattr 判断是否有这个属性

https://www.cnblogs.com/zouzou-busy/p/13236446.html

posted @ 2022-09-07 14:27  夜落繁华时  阅读(93)  评论(0)    收藏  举报