python_进阶_11


私有属性和私有方法

  • 在实际开发中,对象的某些属性或者方法可能只希望在对象的内部被使用,而不希望在外部被访问到
  • 在定义属性或者方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性和私有方法
class Women:
    def __init__(self,name):
        self.name = name
        self.__age = 18
    def __secret(self):
        # 在对象的方法内部,是可以访问对象的私有属性的
        print("%s的年龄是%d" % (self.name,self.__age))

xiaofang = Women("小芳")

# 私有属性在外界不能够被直接访问
print(xiaofang.__age)
# 私有方法,同样不允许在外界直接被访问
xiaofang.___secret()

输出为

  • python中,并没有真正意义的私有,在名称前面加上_类名 ==> _类名__名称
class Women:
    def __init__(self,name):
        self.name = name
        self.__age = 18
    def __secret(self):
        # 在对象的方法内部,是可以访问对象的私有属性的
        print("%s的年龄是%d" % (self.name,self.__age))

xiaofang = Women("小芳")

# 私有属性在外界不能够被直接访问
print(xiaofang._Women__age)
# 私有方法,同样不允许在外界直接被访问
xiaofang._Women__secret()

输出为


文章作者: 张忠楠
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张忠楠 !
评论
 上一篇
python_进阶_12 python_进阶_12
继承 概念: 子类拥有父类的所有方法和属性 单继承class Animal: def eat(self): print("吃") def drink(self): print("喝")
2020-04-27
下一篇 
python_进阶_10 python_进阶_10
士兵突击 ​ 在定义属性时,如果不知道设置什么初始值,可以设置为None ​ 在python中针对None比较时, 建议使用is判断 clas
2020-04-26
  目录