私有属性和私有方法
应用场景及定义方式
应用场景
在实际开发中,对象的某些属性或方法可能只希望在对象的内部使用,而不希望在外部被访问到
私有属性 就是 对象 不希望公开的 属性
私有方法 就是 方法 不希望公开的 方法
定义方法
在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法
class Women(object):
def __init__(self,name):
self.name = name
self.__age = 18 # 私有属性
def __secret(self): # 私有方法
print('%s 的年龄是 %d' %(self.name,self.__age))
lily = Women('lily')
print(lily.age) # 调用会报错
lily.__secret() # 调用会报错
输出报错:
Traceback (most recent call last):
File "/home/kiosk/Documents/python/python1223/day11/07_私有属性和私有方法.py", line 25, in <module>
print(lily.age)
AttributeError: 'Women' object has no attribute 'age'