標籤的傳遞不改變物件的記憶體位址,物件可大致分為內建物件,組織物件和結構物件
python內建物件——最小個體
他們是構成其他物件的基礎,這也是計算機存在的基礎。
a=
256b=
'a'print(,
id(a)
)print(,
id(b)
)
第一次結果:
用reset釋放變數後
這是第二次結果:
組織物件——關於個體的關係
不常用組織物件
對於不常用的組織物件,他們隨用隨分配,每一次釋放記憶體後獲取位址不同,但存在即唯一。
包括:大於256的整數,所有浮點數,大多數string串
例:257可以理解為(256+1)的組織關係,隨機分配記憶體,且,同時屬於乙個封裝的物件,沒有透明的訪問機制。
例:float理解為==一系列內建數字與.(浮點)==的組織關係,也是乙個封裝體,沒有透明的訪問機制
例:多數stringhello world
為各個單一字元的組織關係,是個封裝體,有透明的訪問機制,靠索引訪問內部物件(matlab的char與之類似)。
a=
257b=
'hello world'
c=2.563
print(,
id(a)
)print(,
id(b)
)print(,
id(c)
)
這是第一次結果:
用reset釋放物件後
這是第二次結果:
因為這裡面中string具有透明的訪問機制,我們通過索引去訪問其內部物件
a=
'h'b=
'hello world'
print(,
id(a)
)print(,
id(b)
)print(,
id(b[0]
))
這是第一次結果:
用reset釋放記憶體後:
這是第二次結果:
可以看到標籤b所指物件的位址雖然變了,但其內部物件的位址並不發生改變,指向內建物件位址
常用的組織物件
這一類只有常用的英文本串,類似於對於一些頻繁使用的組織物件,為了避免頻繁的呼叫和釋放記憶體,也將他們提前進行分配記憶體。
如:str_1=『abc』
a=
'a'b=
'abc'
print(,
id(a)
)print(,
id(b)
)print(,
id(b[0]
))
第一次結果:
reset釋放記憶體後
第二次結果:
可以看到這是乙個常用的字串,且被提前分配了記憶體.
這可以理解成10~256的常用數字,那部分數字其實時0~9的乙個組織關係,因為其內部不具有透明機制,故可以理解成內建的個體物件。因為字串具有內部透明機制,故不能放在內建個體裡面,可以理解為時乙個內建的組織物件。
總結個體物件和組織關係物件都是不變物件,即只要被呼叫出來,物件在記憶體中的位址就是唯一的,所有指向該物件的標籤最終都引用的是該位址中的內容
關於 Http 協議,你必須要知道的
http協議是hyper text transfer protocol 超文字傳輸協議 的縮寫,是用於從全球資訊網伺服器傳輸超文字到本地瀏覽器的傳送協議。http 是基於 tcp ip 協議通訊協議來傳遞資料 html 檔案,檔案,查詢結果等 它不涉及資料報 packet 傳輸,主要規定了客戶端和伺...
關於 Http 協議,你必須要知道的
引言一 http的特點 二 http報文 1 請求行post chapter17 user.html http 1.1代表請求方法,chapter17 user html表示uri,http 1.1代表協議和協議的版本。現在比較流行的是http1.1版本。2 請求頭 值對組成,每行一對,關鍵字和值用...
關於Http協議,你必須要知道的
http的特點 2.靈活 http允許傳輸任意型別的資料物件。3.無連線 無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。http報文 http報文包括請求報文和響應報文兩大部分,其中請求報文由請求行 request l...