- %r、str.format 中的 !r、v(一个对象)都是调用该对象的 repr 方法
print(object) 调用的是 object 的 str 方法 - 不存在 str 方法,则调用 repr
不存在 bool 方法,则调用 len
不存在 iadd 方法,则调用 add - len 不是普通的方法
保持内置类型的效率和保持语言一致性之间找到了一个平衡点
该方法的背后是 CPython 直接从一个 C 结构体读取对象 PyVarObject 的属性 ob_size,这样保持内置类型的效率。
python 将该属性封装成方法,使我们自定义的数据类型可以表现的像内置类型一样,这样保证语言的一致性 - 对象模型、数据模型
对象的属性 - 元对象协议
元对象指构建语言本身来讲很重要的对象
协议可以看作接口
元对象协议是对象模型的同义词,都是构建核心语言的 API
Python 的数据模型
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。