background image
• 静态字段存储在 class.__dict__,为所有同类型实例共享。
• 必须通过类型和实例对象才能访问字段。
• 以双下划线开头的 class 和 instance 成员视为私有,会被重命名。
(module 成员不变)
1、可以在任何时候添加实例字段,仅影响该实例名字空间,与其他同
类型实例
关。
2 、 要 访 问 静 态 字 段 , 除 了
class.<name> 外 , 也 可 以
instance.<name>。按照成员查找规则,只要没有同名的实例成员,那
么就继续查找 class.__dict__。
3、私有字段以双下划线开头,
论是静态还是实例成员,都会被重命
名: _<class>__<name>。
4、某些时候,我们既想使用私有字段,又不想放弃外部访问权限。
• 用重命名后的格式访问。
• 只 一个下划线,仅提醒,不重命名。
属性 Property:
1、属性方法多半都很简单,
lambda 实现会更加简洁。鉴于 lambda
函数不能使
赋值语句,故改用 setattr。还得注意别
会被重命名的
私有字段名做参数。
2、属性总是比同名实例字段优先,尽可能用属性,而不是直接暴露内
部字段。