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 只是類的宣告,具體這個類裡有什麼資訊,這裡不需要知道,等實現檔案中真正要用到時,才會真正...