Python中定义类:
class Programer(object):
hobby = "play Computer"#所有类的对象共享
def __init__(self,name,age,weight):
self.name=name
self._age = age
self.__weight =weight
def get_weight(self):#构造函数
return self.__weight
if __name__ == '__main__':
pro=Programer("albert",23,70)
print(pro.name)
print(pro._age)
print(pro.hobby)
print(pro._Programer__weight)
print(pro.__dict__)
weight = pro.get_weight()
print(weight)
访问控制?
- 其实Python中没有访问控制
- Python没有提供私有属性的功能
- 全靠自觉
常用属性定义
def __init__(self,name,age,weight):
self.name=name #可以公开访问
self._age = age #私有属性,只是编程规范的约束,并不是Python本身语法的约束,想访问依然可以访问。
self.__weight =weight#实现部分的私有属性,在类里面可以访问,实例化后直接访问不行的,但是也有方法的,比如xx._class__zzz
下面结果
albert
23
play Computer
70
{'_Programer__weight': 70, '_age': 23, 'name': 'albert'}
70