在python中,类的许多方法和引用都是不需要手动去声明的,它会由程序隐式的进行使用。本文就将介绍一下python中类的隐式规则和默认约定,一起看看吧。
如果同样的属性名称同时出现在实例和类中,则属性查找会优先选择实例,例如:
>>> class Warehouse: purpose = 'storage' region = 'west' >>> w1 = Warehouse() >>> print(w1.purpose, w1.region)
数据属性可以被方法以及一个对象的普通用户所引用。换句话说,类不能用于实现纯抽象数据类型,实际上在Python中没有任何东西能强制隐藏数据---它是完全基于约定的。而在另一方面,用C语言编写的Python实现则可以完全隐藏实现细节,并在必要时控制对象的访问,此特性可以通过用C编写Python扩展来使用。
客户端应当谨慎地使用数据属性,客户端可能通过直接操作数据属性的方式破坏由方法所维护的固定变量。请注意客户端可以向一个实例对象添加他们自己的数据属性而不会影响方法的可用性,只要保证避免名称冲突,在此使用命名约定可以省去许多令人头痛的麻烦。
在方法内部引用数据属性并没有简便方式,这实际上提升了方法的可读性。当浏览一个方法代码时,不会存在混淆局部变量和实例变量的机会。
方法的第一个参数常常被命名为self,这也不过就是一个约定。self这一名称在Python中绝对没有特殊含义,不遵循此约定会使得你的代码对其他Python程序员来说缺乏可读性。
以上就是python中类的隐式规则和默认约定的全部内容了。