- %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 的数据模型
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...