流畅的Python读书笔记-第九章-符合Python风格的对象

得益于python数据类型,自定义类型的行为可以像内置类型那样自然。实现如此自然的行为,靠的不是继承,而是鸭子类型:我们只需要按照预定行为实现对象的方法即可。
流畅的Python读书笔记-第九章-符合Python风格的对象_第1张图片Python中 classmethod VS staticmethod
流畅的Python读书笔记-第九章-符合Python风格的对象_第2张图片
staticmethod不是特别有用

格式化显示
内置的format函数str.format()方法把各个类型的格式化方式委托给相应的.format(format_spec)方法。
格式规范微语言

只读属性and可散列
为了把一个实例变成可散列的,需要实现__hash__方法和__eq__方法
想要创建可散列的类型,不一定要实现特性,也不一定要保护实例属性。只需要正确地实现__hash__和__eq__方法即可,但是实例的散列值绝不应该变化,因此下面只是借机提到了可读属性。
流畅的Python读书笔记-第九章-符合Python风格的对象_第3张图片
Python的私有属性和受保护的属性
流畅的Python读书笔记-第九章-符合Python风格的对象_第4张图片
流畅的Python读书笔记-第九章-符合Python风格的对象_第5张图片Python中各个实例中名为__dict__的字典里存储实例属性
在这里插入图片描述
流畅的Python读书笔记-第九章-符合Python风格的对象_第6张图片
流畅的Python读书笔记-第九章-符合Python风格的对象_第7张图片
要构建符合Python风格的对象,就要观察真正的Python对象行为。

你可能感兴趣的:(读书笔记,python)