self参数
类中定义的每个方法的第一个参数都是self,这个参数指向调用方法的对象本身(你可以给它指定任何一个名字,但是按照惯例,经常使用的是self)。
可以使用self访问类中定义的对象成员,例如:self.x访问实例变量x,self.ml()调用实例方法ml,self 的作用域是整个类。
变量作用域:
在类中使用self.x创建的实例变量可以在整个类中访问,直接创建的局部变量x只能在局部访问。
隐藏数据域
使用两个下划线开头来命名私有数据域和方法
私有数据只能在内部访问,不能在外部直接访问,可以使用get、set方法来间接的访问和修改私有数据
一个get方法有下面的方法头:
def getPropertyName(self):
如果返回类型是布尔型,那么习惯上get方法被定义如下形式:
def isPropertyName(self):
一个set方法有下面的方法头
def setPropertyName(self, propertyValue):
对于真实使用场景中的建议,在开发一个模块的时候,可以先去设计好各个类UML,然后去实现一个空的架子,通过调用每个类并测试正确以后,再将精力放在类的实现上。一定要养成全局设计的习惯和观念。