python並沒有對私有成員提供嚴格的訪問保護機制。
1classa: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中不存在嚴格意義上的私有成員。
1class
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
'
在程式中,可以使用乙個下劃線「_」來表示不關心該變數的值。
1for _ 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...