關於python物件必須要知道的事

2021-09-28 13:53:51 字數 1818 閱讀 2045

標籤的傳遞不改變物件的記憶體位址,物件可大致分為內建物件,組織物件和結構物件

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...