2.9Python语言的成员可见性(Visibility)

成员的可见性支持 publicprotectedprivate

成员标识符前不添加单下划线 _ 或者 双下划线 __ 表示 public 成员。

成员标识符前显式添加单下划线 _ 表示 protected 成员,_ 也是成员标识符的一部分,所以操作 protected 成员时必须要带上 _

class C:
    def __init__(self, a):
        self._a = a
    
    def _f(self):
        return self._a

o = C(1)
#外部直接访问(不推荐)
print(o._a)    # 1
print(o._f())  # 1

成员标识符前显式添加双下划线 __ 表示 private 成员,__ 也是成员标识符的一部分,所以操作 private 成员时必须要带上 __

class C:
    def __init__(self, a):
        self.__a = a
    
    def __f(self):
        return self.__a

o = C(1)
#外部直接访问
print(o.__a)      # 报错
print(o.__f())    # 报错

#强制访问(不推荐)
print(o._C__a)    # 1
print(o._C__f())  # 1

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/python/pythonlang/38234.html

huoxiaoqiang的头像huoxiaoqiang

发表回复

登录后才能评论
分享本页
返回顶部