為什麼Python有相同的不可變物件id不同

時間 2023-02-12 15:25:05

1樓:匿名使用者

python裡一切都是物件。

所以1,2,3,4...這些整數也都是物件。這些基本的不可變物件在python裡會被頻繁的引用,建立,如果不找到好的辦法的話很容易讓python引發效率瓶頸,所以python引入了整數物件池的機制。

2樓:霞左丞永

這就涉及到python的記憶體管理機制了,python裡面,所有變數都是物件,資料在記憶體中占用物理記憶體,然後指標的頭指向不同的物件,就好比兩台相同的電腦,編號卻不一樣,這其實是兩個物件;但是也不是所有物件都是這樣處理的,為了節省記憶體,對於小的整數和短的字串,python在處理的時候會把相同的資料指向不同的物件,但它們的id是一樣的。

python 裡的可變物件與不可變物件具體怎麼理解

3樓:琳姞家菲

python的資料型別分為可變(mutable)與不可變(immutable)。不可變型別包含字串(str),整數(int),元組(tuple);可變型別包含列表(list),字典。

專(dict)。

是否為可變型別在於記憶體單元的值是否可以被改變。屬如果是記憶體單元的值不可改變的,在對物件本身操作的時候,必須在記憶體的另外地方再申請一塊記憶體單元(因為老的記憶體單元不可變),老的記憶體單元就丟棄了(如果還有其他ref,則ref數字減1,類似unix下的hard-link);如果是可變的,對物件操作的時候,不需要再在其他地方申請記憶體,只需要在此物件後面連續申請(+/即可,也就是它的位址會保持不變,但區域會變長或者變短。

新手,乙個關於python可變與不可變物件的問題

4樓:匿名使用者

所謂物件的可變與不可變,是看物件是否有hash值。

python 不變物件和可變物件的問題!

5樓:匿名使用者

c = count()#例項化的時候本身就是0

m(c, n)#呼叫方法的時候 c=count(5)是例項化另乙個變數,m方法裡面的是方法裡面的n=3和main方法裡面的n=1是兩個不同的變數。

所以,在你的**裡m函式對main函式沒什麼用。

python不同程序的類的例項id為什麼一樣的

6樓:譙冷

可以把類當做引數傳入到函式裡,在函式裡進行例項化。如下所示。把類a當做引數傳入get_instance_from_class。

在get_instance_from_class中對a進行例項化,獲得其實例,並返回。12345678910111213class a: def __init__(self):

print "i am a a instance." def print_myself(self): print "print myself.

"def main():def get_instance_from_class(a): return a() a = get_instance_from_class(a) a.

print_myself() if __name__=main__"main()

python中,如何求相同id(有好幾行)下不同變數的均值,每個id的都需要求出來。如圖

7樓:丨洛神殤丨

如果你這是csv檔案的話,直接按照普通檔案讀進來,將你的每一行用split(",分割,你的id列在第二列,注意需要去掉每行末尾的回車換行。 按照id構造乙個字典。大概長這樣:,"2":.

}然後遍歷這個字典,求每項均值就行了。**不寫,留著你自己聯絡。

python 值相同變數名不同,記憶體位址相同嗎

8樓:燎北覽戰

如果是常用的值,可能會為了優化記憶體使用儲存在同一位置,但是使用中和不同值的變數無區別。

python類的可變型別成員和不可變型別成員的區別

9樓:哪些花爾

首先當子類繼承了父類,因此子類(當繼承方式為public或protected時)可以訪問及改動父類的public成員,但訪問或改不了私有成員和不可訪問變數。

這個Python為什麼,這個Python為什麼 5

1.實現過程 終端的字元顏色是用轉義序列控制的,是文字模式下的系統顯示功能,和具體的語言無關。控制字元顏色的轉義序列是以esc開頭,即用 033來完成 2.書寫過程 開頭部分 033 顯示方式 前景色 背景色m 結尾部分 033 0m 注意 開頭部分的三個引數 顯示方式,前景色,背景色是可選引數,可...

python報錯,python 為什麼會報錯。

第5行錯誤 bmi float weight height 2 修改為 bmi float weight height height height 2 這種符號是給人看的,在python看來,這個是邏輯異或符號。正確的方式是這個 import math math.pow height,2 另外,寫程...

python的用途,python有什麼用?

python可以用來做資料採集,比如你想採集大批量的 電影。也可以做資料分析,當資料量特別多的時候可以用python,比excle快特別多。還可以做專案,人工智慧也會應用到python。學習python有哪些用途?我總結主要用於網路爬蟲 資料處理 web服務 資料分析 人工智慧等五大領域。pytho...