封装 enclosure
封装是指隐藏类的实现细节,让使用者不关心这些细节
封装的目的是让使用者通过尽可能少的方法(或属性)操作对象
私有属性和方法
python类中以双下划线('__') 开头,不以双下划线结尾的标识符为私有成员,私有成员或只能用类内的方法进行访问和修改
以__开头的实例变量有私有属性
以__开头的方法为私有方法
注:python 的封装是假的封装(模拟的封装)
class A: def __init__(self,name): self.__name = name #<<<--- __p1为私有属性 def show_init(self): print(self.__name) print(self.__m()) def __m(self): print("A类的私有方法") a = A("zengsf") a.show_init() a.__name = "fengshao" #对象调用隐藏的属性修改是无效的 a.show_init() #a.__m() #这样就会报错 ~ tarena@tedu:~/zengsf/827$ python3 test.py zengsf A类的私有方法 None zengsf A类的私有方法 None