私有属性和私有方法
在属性名或者方法名前面增加两个下划线,定义的就是私有属性或者私有方法。
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
私有属性禁止外部访问,但是内部方法可以调用。
如果在secret方法前面也加两个下划线__secret
,则私有方法也不可调用了。
但是没有绝对的私有属性或者方法。,python中,处理私有属性的时候,只是在私有属性名或者方法名前面加上了下划线加类名 _类名
=>_类名__名称
print(xiaofang._Women__age)
print(xiaofang._Women__secret)
但是,不要用这种方法