<返回更多

python的反射到底有什么用?

2021-12-09    学习不能停止我的脚步
加入收藏

反射到底是个啥?

反射这个词从逻辑上来说和倒影是差不多的,从一个3D的立体变成一个二维的平面影像,其实但从这个上面就已经可以理解在编程中反射是干啥用的了。

用官方的话说"反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力"。

其实本质上简单说,就是把一个对象类型拆解。可以使用字符串的形式去访问和修改对象。

为什么要使用反射?他帮我们解决了什么问题?

首先有反射那么就有"正射"。

正常情况下是导入模块,找到想要的类,再创建实例对象,接着再调用方法,这个方法太麻烦了,一个程序不停的运行,所需要的功能不断增多,不可能手动去一一导入,而且还需要程序去进行判断某个模块功能是否变动,这种情况必须只能是使用反射了。

这也是为什么很多框架是必须使用反射的原因了,因为反射帮助他们提供了一下几点能力。

1.能够用字符串的形式去操作对象,提高了程序的灵活性和扩展性。

2.降低了耦合性,提升了代码的健壮性和自适应能力。

3.这种形式可以应对任何类的对象。

那么反射怎么使用呢?

Python/ target=_blank class=infotextkey>Python的内置函数提供了强大的反射机制,

__import__()加载模块

dir()列表形式返回属性和方法

hasattr()检测是否含有某属性

getattr()获取属性

setattr()设置属性

delattr()删除属性

首先创建一个文件say.py并再其中声明一个类say,创建一个sayLove方法。

python的反射到底有什么用?

接着再另一个文件中使用__import__以字符串形式导入模块,读取其中的say类。

python的反射到底有什么用?

 

 

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>