8 5 類的私有變數

2021-09-21 05:19:35 字數 1461 閱讀 5846

1

2

3

4

5

6

7

8

9

10

11

12

13

classa(object):

_name='zhou'

_***='f'

defhello(self):

print(self._name)

print(self._***)

defget_***(self):

returnself._***

a=a()

print(a._name)

a.hello()

print(a.get_***())

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

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

如: 當使用「from m import」時,不會將以乙個下劃線開頭的物件引入 。

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

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

呼叫時名字被改變(在類foobar內部,__boo變成_foobar__boo,如self._foobar__boo)

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

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

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

類的私有變數

1.在python 中可以通過在屬性變數名前加上雙下劃線定義屬性為私有屬性 特殊變數命名 案例 class a object zhe shi shuo ming name ling man def hello self print self.name print self.def get self ...

類物件 私有變數

類及物件 class critter object a virtual pet deftalk self print hi,i m instance of class critter.crit critter crit.talk hi,i m instance of class critter.構造...

python類的重寫 私有變數

類的重寫 在python中 有時需要進行重寫,重寫是繼承機制中的乙個重要部分,可以重寫一般方法也可以重寫構造方法,構造方法是用來初始化新建立物件的狀態。class parent object name parent age 100 def init self print my name is par...