一.定义类的属性
1.直接在类里定义
class Programer(object): hobby = 'play computer'
若不主动对此属性进行编程修改, Programer定义的类均有hobby属性且值均为‘play computer’。
2.在构造函数里定义
class Programer(object): hobby = 'play computer' def __init__( self, name, age, weight ): self.name = name self._age = age self.__weight = weight在构造对象时传值,对本对象的属性进行赋值。每个对象的属性值由类定义对象初始化时确定。当然也可以在构造函数参数列表中对各属性赋默认值。
二.访问的控制
在c语言中,类的属性有三种访问控制权限,private;public;protect。但是在Python中并没有访问控制这样说,即没有私有变量。
在实际编程工作中,主要靠命名规范来约束。
#!/usr/bin/env python # -*- coding: utf-8 -*- class Programer(object): hobby = 'play computer' def __init__( self, name, age, weight ): self.name = name self._age = age #‘私有’成员变量,python编程规范的一种约束,而不是python本事语法的一种约束 self.__weight = weight #Python一种变相的‘私有’成员变量 #可通过 programer._Programer__weight 方式来访问,其中programer为类定义的一个对象 def get_weight(self): return self.__weight if __name__ == '__main__': programer = Programer('Albert', 25, 80) programer.hobby = 'play basketball' print dir(programer) print programer.__dict__ print programer.get_weight() print programer._Programer__weight
参考:
慕课网《python 面向对象》课程,主讲老师:剑圣OMG