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

得益于python数据类型,自定义类型的行为可以像内置类型那样自然。实现如此自然的行为,靠的不是继承,而是鸭子类型:我们只需要按照预定行为实现对象的方法即可。
在这里插入图片描述Python中 classmethod VS staticmethod
在这里插入图片描述
staticmethod不是特别有用

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猴猴猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值