自省是什么?
但从字面意义上来看,自省可以理解为自我反省的一个意思,我第一次理解这个词还是在小学课本上的神农尝百草中,神农的身体是透明的,吃下任何草药都可以看到其药效释放的过程 。
文章插图
而在python中说白了就相当于自己就是神农,可以查看自己身体的各个部位(类,属性,方法等)
为什么我们要使用自省?
自省说到底其实就是一种检查机制,像神农一样,去判断事物是什么,有什么用 。
而在计算机中更加明显,我们需要在程序运行中能获知对象的类型能力,这种能力就是自省 。
那么自省怎么使用呢?
python中有4个最为常用的自省机制函数,我称之为四神柱各有各的用处 。
【python的自省到底有什么用 自学python有什么用】分别是dir(),type(),hasattr(),isinstance()
文章插图
dir能够以列表形式返回所有的属性名称,通过dir可以对一个对象的属性进行遍历,从而对指定的属性进行操作 。
文章插图
type能够返回数据类型,帮助我们进行一个判断,进行不同分支的操作 。
文章插图
hasattr能够确定一个对象有没有指定的属性 。虽然同样可以通过dir进行遍历查找,但是如果只是找确定少数的属性没有必要进行多余的遍历,可以通过hasattr查找,也可以通过getattr() 。
文章插图
文章插图
isinstance()能够帮我们判断实例对象和类是否相等,为什么有了type而又要有isinstance呢,这是因为type() 不会认为子类是一种父类类型,不考虑继承关系,而isinstance考虑到了,因此的判断对象类型是否相同时优先使用isinstance 。
当然了python除了内置的函数可以帮助我们自省意外还有内置的模块inspect可以帮助我们对对象进行检查 。
该模块提供了4种主要的功能:类型检查、获取源代码、检查类与函数、检查解释器的调用堆栈 。
有兴趣的小伙伴可以去python的文档看看哈 。
- 坚持自省有什么好处 自省的好处
- 黄金回收的利润究竟怎么样 黄金回收怎么盈利
- 【游戏迷】手机党的硬核快乐,《战双帕弥什》妥妥的硬核战斗“番”
- 【游戏迷】DNF:新职业彩蛋来了!真的是“奶枪”医疗兵,天界又多了一个小伙伴
- 家里阴气重的几种表现
- 【就爱时尚】2022年 Met Gala美貌气质着装最佳十大女星,她的礼服艳惊全场
- 哪14种的住宅风水极差
- 死过人的房子能住人吗 死过人的房子能买吗
- 运气不好的10个先兆
- 家里养猫对风水好吗