訪問類中私有屬性的方式(兩種)

2021-08-21 19:19:05 字數 1400 閱讀 6805

1.首先要理解私有屬性:

私有屬性主要是指  python中單下劃線和雙下劃線的區別  (比較直白的意思是:)

_x: 單前置下劃線,私有化屬性或方法,from somemoudle import *禁止匯入,類物件和子類可以訪問

__xx:雙前置下劃線,避免與子類中的屬性命名衝突,無法在外部直接訪問(名字重整所以訪問不到)

接下來用**解釋:

2.

class people(object):

def __init__(self):

self.name = 'zhangsan'

self._age = '20'

self.__address = '鄭州'

if __name__ == '__main__':

p = people()

print(p.name)

print(p._age)

print(p.__address)

其實在這裡p._age下面有波浪線,p.__address顏色是那種似乎報錯的顏色!執行結果:

顯然__address這個地方報錯了,說明不能使用。

這裡的英文翻譯是:對受保護成員的訪問,此檢查警告是否在類外部訪問受保護成員,其定義的類或模組的繼承者。

雖然能執行,但是系統還是警告了!所以以後_x的不要隨意引用。而且

這個_age有提示,但是__address沒有提示。

3.下面是解決方案:第一種(可以強制使用,但是不建議)

4.第二種

class people(object):

def __init__(self):

self.name = 'zhangsan'

self._age = '20'

self.__address = '鄭州'

def get__address(self):

return self.__address

if __name__ == '__main__':

p = people()

print(p.name)

print(p.get__address())

5.(純屬個人看法)

HTTP訪問的兩種方式

使用httpclient namevaluepair namevaluepair1 newbasicnamevaluepair name yang namevaluepair namevaluepair2 newbasicnamevaluepair pwd 123123 list namevalue...

JS中訪問物件的兩種方式

訪問物件的屬性和方法都可以用 點 和 中括號 兩種方式 1.物件名.屬性名 物件名.方法名 2.物件名 屬性名 物件名 方法名 或參考 js中訪問物件的兩種方式區別 可以使用下面兩種方式訪問物件的屬性和方法 1.物件名.屬性名 物件名.方法名 2.物件名 屬性名 物件名 方法名 1 var obj ...

類的兩種引入方式

一種是通過 import方式引入 另一種是通過 class引入 這兩種的方式的區別在於 1 import方式會包含被引用類的所有資訊,包括被引用類的變數和方法 class方式只是告訴編譯器在a.h檔案中 b b 只是類的宣告,具體這個類裡有什麼資訊,這裡不需要知道,等實現檔案中真正要用到時,才會真正...