前言
因之前有初學(xué)編程的人問我卵佛,關(guān)于python內(nèi)存地址和變量一些疑問說他們之前到底怎么變化蛇受,對應(yīng)的關(guān)系是怎么樣?解說一番后丹墨,他更茫然了廊遍!無奈!于是乎還是嘗試用這種方式做一個簡單筆記記錄贩挣。
1 python中內(nèi)存和變量圖解示例
無理論直接干代碼:
import sys
print("=========================================")
print("開始創(chuàng)建一個變量喉前,開閉一個新的內(nèi)存空間A1")
a1 = '小鐘同學(xué)'
print('a1在內(nèi)存中的【初始】16進制地址為:', hex(id(a1)))
print(sys.getrefcount(a1))
a1 = '小鐘同學(xué)睡覺了'
print("修改A1的值没酣,---開閉一個新A1的內(nèi)存地址空間分配")
print('a1在內(nèi)存中的【最新】16進制地址為:', hex(id(a1)))
print(sys.getrefcount(a1))
print("=========================================")
print("a1的地址和值=a2的地址和值")
a2 = a1
print("a1的值為:", a1, "|", "a1在內(nèi)存中的【最新】16進制地址為:", hex(id(a1)))
print(a2, hex(id(a2)))
print("a2的值為:", a2, "|", "a2在內(nèi)存中的【最新】16進制地址為:", hex(id(a2)))
print("=========================================")
print("重新把之前的值給a1,它的地址是否會變吶?")
a1 = "小鐘同學(xué)睡覺了"
print("a1的值為:", a1, "|", "a1在內(nèi)存中的【最新】16進制地址為:", hex(id(a1)))
print(a2, hex(id(a2)))
print("a2的值為:", a2, "|", "a2在內(nèi)存中的【最新】16進制地址為:", hex(id(a2)))
print("=========================================")
print("修改a2的值,觀察a1和a2的地址的地址")
a2 = "小鐘同學(xué)該上班了卵迂!"
print("a1的值為:", a1, "|", "a1在內(nèi)存中的【最新】16進制地址為:", hex(id(a1)))
print(a2, hex(id(a2)))
print("a2的值為:", a2, "|", "a2在內(nèi)存中的【最新】16進制地址為:", hex(id(a2)))
輸出結(jié)果:
=========================================
開始創(chuàng)建一個變量裕便,開閉一個新的內(nèi)存空間A1
a1在內(nèi)存中的【初始】16進制地址為: 0x19cc110
4
修改A1的值,---開閉一個新A1的內(nèi)存地址空間分配
a1在內(nèi)存中的【最新】16進制地址為: 0xe6df38
4
=========================================
a1的地址和值=a2的地址和值
a1的值為: 小鐘同學(xué)睡覺了 | a1在內(nèi)存中的【最新】16進制地址為: 0xe6df38
小鐘同學(xué)睡覺了 0xe6df38
a2的值為: 小鐘同學(xué)睡覺了 | a2在內(nèi)存中的【最新】16進制地址為: 0xe6df38
=========================================
重新把之前的值給a1,它的地址是否會變吶见咒?
a1的值為: 小鐘同學(xué)睡覺了 | a1在內(nèi)存中的【最新】16進制地址為: 0xe6df38
小鐘同學(xué)睡覺了 0xe6df38
a2的值為: 小鐘同學(xué)睡覺了 | a2在內(nèi)存中的【最新】16進制地址為: 0xe6df38
=========================================
修改a2的值,觀察a1和a2的地址的地址
a1的值為: 小鐘同學(xué)睡覺了 | a1在內(nèi)存中的【最新】16進制地址為: 0xe6df38
小鐘同學(xué)該上班了偿衰! 0x19e40c8
a2的值為: 小鐘同學(xué)該上班了! | a2在內(nèi)存中的【最新】16進制地址為: 0x19e40c8
圖解
說明
部分的圖或資料來互聯(lián)網(wǎng)收集整理改览,如有侵權(quán)下翎,煩請聯(lián)系,我會立即進行刪除宝当。
End
純屬個人實踐中相關(guān)經(jīng)驗之談视事,如有紕漏,還希望大佬們多多提點庆揩!
小鐘同學(xué) | 文 【原創(chuàng)】|