有關python私有變數使用的例子

2021-06-16 08:28:26 字數 727 閱讀 2525

class a(object):

def __init__(self):

self.__a = 1

def get_a(self):

return self.__a

def set_a(self, num):

self.__a = num

class a(a):

def __init__(self):

super(a, self).__init__() #init self.__a in a

print self.get_a()

self.set_a(4)

z = a()

za = z.get_a()

print za # output 1

z.set_a(2)

za = z.get_a()

print za # output 2

y = a() # output 1

ya = y.get_a()

print ya # output 4

print z.get_a() # output 2

輸出:1

通過例子可以知道,私有變數不能在類外被直接訪問到,比如 z.__a的形式是錯誤的,需要通過固定函式介面訪問(def get_a():)。

這個函式介面可以被子類繼承,繼承之後,變數的記憶體空間是分離的。

私有變數需要加self使之變成類變數。

python私有變數

只有在函式裡 不一定是建構函式 以 開頭的變數才是私有變數,看 class a definit self self.data1 1 self.data2 2 self.data3 3 self.data4 44 def fun1 self print self.data4 self.data5 5 ...

python私有變數

在python中定義私有變數只需要在變數名或函式名前加上 兩個下劃線,那麼這個函式或變數就是私有的了。在內部,python使用一種 name mangling 技術,將 membername替換成 classname membername,也就是說,類的內部定義中,所有以雙下劃線開始的名字都被 翻譯...

python私有變數公開變數說明

先上 class people name l 女 def init self,age self.age age def str self return 姓名 self.name 年齡 str self.age 性別 self.先說公開變數,name和age都是公開變數,外部都可以通過 例項物件.na...