定义方式:
在定义属性或者方法时,在前面加上两个下划线"__",定义的就是私有属性或者方法
案例:
class Women:
def __init__(self,name):
self.name = name
self.__age = 18
def secret(self):
#在对象的内部,是可以访问对象的私有属性的
print('%s的年龄是%d' % (self.name,self.__age))
测试结果:
>>> xiaofang = Women('消防')
>>> xiaofang.secret()
消防的年龄是18
>>> xiaofang.__age
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
xiaofang.__age
AttributeError: 'Women' object has no attribute '__age'
python中没有完全的私有属性或者方法:可以用_类名__属性(方法)的方式来调用:
>>> xiaofang._Women__age
18