2016.5.3 第8章 类与对象
8.1 改变对象的字符串显示 __str__ 和 __repr__ %s 和 %r,提到了eval,我没有用过
8.2 自定义字符串的格式化 __format__
8.3 让对象支持上下文管理,__enter__和__exit__,可以使用with
8.4 创建大量对象时节省内存的方法 __slot__,__slot__更多的是做用作内存优化工具,而不是作为封装工具防止用户给实例添加新的属性。
8.5 在类中封装属性名,属性或方法用下划线开头, _和__的区别,大多数时候都用_来表示私有属性,__多用在类的继承,类的属性如果以__开头,会自动变为"classname_+属性名",如果变量名和python关键字冲突,可在后面加下划线,如lambda_
8.6 创建可管理的属性 @property attr.setter attr.deleter,用@property把一个实例的方法变为属性
8.7 调用父类方法,使用super()方法