python 訪問許可權

2021-08-21 06:37:38 字數 1004 閱讀 1737

示例:

class

person:

def__init__

(self, name, age):

self.name =name

#在屬性的前面新增兩個'_',外部訪問,系統內部的除外

#預設的屬性名:__age => _person__age

self.__age =age

defeat(self):

print('

民以食為天')

#在方法的前面新增兩個'_'

def__inner

(self):

print('

私有方法,不想讓外部呼叫')

deftest(self):

#在類的內部可以訪問私有的屬性和方法

print(self.__age

) self.

__inner

()

p = person('

老王', 50)

#預設所有的屬性和方法都是公有的,就是在類的外面可以直接使用

p.eat()

print

(p.name)

#一下兩句會報錯,提示沒有相關的屬性或方法

#p.__inner()

#print(p.__age)

#print(p.__dict__)

#可以通過系統修改的名稱找到,但是強烈建議不要這樣使用

print

(p._person__age)

p._person__inner()

p.test()

class

man(person):

deftest(self):

#print(self.__age)

#self.__inner()

print('

子類無法使用父類私有的屬性和方法')

m = man('

木蓋', 24)

m.test()

python 許可權 Python變數訪問許可權控制

oop1.py檔案 user bin python class foo def bar self print ok def hello self,name print i am s name foo foo foo.bar foo.hello fred huang class foo def ini...

Python變數訪問許可權控制

oop1.py檔案 oop2.py檔案 另外雙下劃線變數,類本身可以訪問 變數,但是在其它作用域不行 可以通過 classname 變數來訪問 在函式方法內,class內,沒有用self修飾的變數 又為臨時變數,只在函式內部有效,obj不能訪問 區域性變數 在函式方法內,class內,沒有用self...

突破訪問許可權

我們在寫 的時候,按約定都是把成員資料放到private訪問區中,然後在通過相應的函式來訪問。那又有什麼樣的 可以突破訪問許可權來直接操作類中private區段中的成員資料呢?首先,我們想到了指標,對吧 指標可是萬能之王,然而也是萬惡之源。那我們就先來看看指標如何突破馬其諾防線的。先定義乙個測試類 ...