python私有成員與公有成員 和

2022-04-01 15:17:41 字數 1373 閱讀 2966

python並沒有對私有成員提供嚴格的訪問保護機制。

1

classa:2

def__init__(self, value1 = 0, value2 =0):

3 self._value1 =value1

4 self.__value2 =value2

5def

setvalue(self, value1, value2):

6 self._value1 =value1

7 self.__value2 =value2

8def

show(self):

9print

(self._value1)

10print(self.__value2)11

12 >>> a =a()

13 >>>a._value1140

15 >>> a._a__value2 #

在外部訪問物件的私有資料成員

16 0

在python中,以下劃線開頭的變數名和方法名有特殊的含義,尤其是在類的定義中。

python中不存在嚴格意義上的私有成員。

1

class

fruit:

2def

__init__

(self):

3 self.__color = '

red'

4 self.price = 1

顯示物件公開資料成員的值

7 1顯示物件私有資料成員的值

9 1red

修改物件公開資料成員的值

blue"#

修改物件私有資料成員的值

12 >>> print

13 2blue

不能直接訪問物件的私有資料成員,出錯

15 attributeerror:fruit instance has no attribute '

__color

'

在程式中,可以使用乙個下劃線「_」來表示不關心該變數的值。

1

for _ in range(5):

2print(3, end='

') #

此處的3可以為任意值,輸出結果為重複5次的值。若改為print(_, end=' ');>>>0 1 2 3 4

3 3 3 3 3 3

4 >>> a, _ = divmod(60, 18) #

只關心整商,不關心餘數。

5 >>> a #

即等價於a = 60//18

6 3

python 類私有成員

在python中定義私有變數只需要在變數名或函式名前加上 兩個下劃線,那麼這個函式或變數就會為私有的了。created on 2012 7 24 author administrator class test def test 1 self print test 1 is ok.def test 2...

python之類私有成員

python類的成員前加雙下劃線 則被看作 私有 成員.例項不能簡單地通過.來訪問.但python的 私有 成員也不是不可訪問的,只是python玩了個 名稱變化術 儘管雙下劃線有些奇怪,但是看起來像是其他語言中的標準的私有方法.真正發生的事情才是不標準的.類的內部定義中,所有以雙下劃線開始的名字都...

js 14公有私有成員方法

var ns1 命名空間 ns1.ns11 子命名空間 ns1.module1 console.log ns1.module1.name ns1.ns11.module 成員封裝 1.靜態成員 function person name,age person.u true 新增靜態成員 console...