摘要: Python的class中还有许多这样有特殊用途的函数,可以帮助我们定制类。 比如: __str__ 与__repr____iter____getitem____call__ __str__ 与__repr__ __iter__ 如果一个类想被用于for ... in循环,类似list或tuple那 阅读全文
posted @ 2018-06-10 17:51 kumata 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 继上一篇学习笔记:python面向对象的继承与多态,本篇就Mixin扩展类的方法写下学习笔记 Mixin Mixin编程是一种开发模式,是一种将多个类中的功能单元的进行组合的利用的方式,这听起来就像是有类的继承机制就可以实现,然而这与传统的类继承有所不同。 通常mixin并不作为任何类的基类,也不关 阅读全文
posted @ 2018-06-10 17:02 kumata 阅读(763) 评论(0) 推荐(0) 编辑
摘要: @property 把方法『变成』了属性,广泛应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性。 最大的作用就是既能检查参数,又可以用类似属性这样简单的方式来访问类的变量! 在上面,我们定义了一个 Exam 类,为了避免直接对 _sco 阅读全文
posted @ 2018-06-10 14:04 kumata 阅读(210) 评论(0) 推荐(0) 编辑
摘要: __slots__ 一个在有着数以千计的对象的类的时候节省内存的方法。 在Python中,每个类都有实例属性。默认情况下Python用一个字典来保存一个对象的实例属性。这非常有用,因为它允许我们在运行时去设置任意的新属性。 然而,对于有着已知属性的小类来说,它可能是个瓶颈。这个字典浪费了很多内存。 阅读全文
posted @ 2018-06-10 11:12 kumata 阅读(223) 评论(0) 推荐(0) 编辑