關於python內存地址問題


遇到一個朋友,給我提了一個問題:python中的兩個相同的值,內存地址是否一樣?

當時印象里有這樣一句話:Python采用基於值的內存管理模式,相同的值在內存中只有一份

於是張嘴就說是一樣的

朋友說不是這樣,也分情況,之后回家查閱了一些資料,想着應該記錄下來,防止朋友們踩坑

 

1.整數、字符串是真正意義上的值,而內存只有一份指的是較小的值

  對於(-5~256)之間的整數,會在內存中進行緩存,兩個相同的整數只開辟一份內存,當地址引用為0時,內存自動刪除

2.對於元組、字典、列表、集合以及range、map等容器類對象,這些的值看起來一樣,但內存卻不是保存一份

3.同一個列表 或者元組 中,大的整數 在內存中會保存同一個地址

4.對於實數(有理數、無理數)來說(不包括-5~256),地址是不同的

 

寫的若有錯誤或者不足的地方,希望大家能夠提出意見或者進行補充


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM