builtins.object是什么?解析Python输出中builtins.object的含义
Python中builtins.object的解析
一、builtins.object是什么?
builtins.object是Python里所有类的终极基类。在Python 3中,任何自定义类如果没有显式指定父类,都会默认继承它。它提供了Python对象的核心基础能力,比如默认构造逻辑、字符串表示、相等性判断等内置方法,还有用于管理实例属性的__dict__、支持弱引用的__weakref__等描述符。
二、代码输出中方法解析顺序(MRO)里的builtins.object含义
先看你的代码示例:
class Fruits: p=12 def __init__(self,name,color,taste): self.name=name self.color=color self.taste=taste def show(self): return f"Fruit name: {self.name}\nFruit color: {self.color}\nFruit taste: {self.taste}" class Apple(Fruits): pass obj1=Apple(3,3,3) print(help(Apple))
这段代码里的Fruits类没有显式声明父类,在Python 3中会自动继承builtins.object。而Apple类继承自Fruits,所以Python在查找方法或属性时,会按照以下方法解析顺序(MRO)进行:
- 首先查找
Apple类自身的定义 - 接着查找父类
Fruits的定义 - 最后查找
Fruits的父类builtins.object
这就是运行输出里的方法解析顺序最后出现builtins.object的原因——它是整个继承链的顶端,所有自定义类的基础功能最终都源于它。比如输出里的__dict__、__weakref__这些描述符,就是从builtins.object继承而来,再通过Fruits传递给Apple的。
内容的提问来源于stack exchange,提问作者Ali Murtaza
相关产品推荐
相关产品推荐

