1. 程式人生 > >8.5 類的私有變量

8.5 類的私有變量

類的私有變量

class A(object):
    _name=‘zhou‘
    _sex=‘F‘
    def hello(self):
        print(self._name)
        print(self._sex)
    def get_sex(self):
        return self._sex
        
a=A()
print(a._name)
a.hello()
print(a.get_sex())

1、_xx 以單下劃線開頭的表示的是protected類型的變量。

即保護類型只能允許其本身與子類進行訪問。若內部變量標示,

如: 當使用“from M import”時,不會將以一個下劃線開頭的對象引入 。


2、__xx 雙下劃線的表示的是私有類型的變量。

只能允許這個類本身進行訪問了,連子類也不可以用於命名一個類屬性(類變量),

調用時名字被改變(在類FooBar內部,__boo變成_FooBar__boo,如self._FooBar__boo)


3、__xx__定義的是特列方法。

用戶控制的命名空間內的變量或是屬性,如init , __import__或是file 。

只有當文檔有說明時使用,不要自己定義這類變量。 (就是說這些是python內部定義的變量名)


8.5 類的私有變量