第一章 python数据模型
- 魔术方法(magic method)是特殊方法的昵称。如
__getitem__()
,也叫双下方法(dunder method) - doctest中,输出过长的内容,添加 #doctest: +ELLIPSIS 这个命令,可以用 … 代替多余的输出内容
- 为什么使用 len(my_object)而不使用 my_object.
__len__()
?因为len()函数会选择对象的特殊方法。如果my_object是一个内置类型,len(my_object)会非常快,它会直接调用CPython从一个C结构体里读取对象的长度,完全不会调用任何方法。 __add__
和__mul__
分别实现+和*两个算术运算符。注意: 这两个运算符返回值都是新创建的向量对象,
“python数据模型”,很多时候也叫“python对象模型”,里面涉及到了魔术方法、元对象。元对象是指构建语言本身来讲很重要的对象。数据模型是从编写python语言这个层面来说的,很是高深感觉有点懂,应该是似懂非懂