python下的變量
不需要預(yù)先聲明變量的類型,變量的類型和值在賦值的那一刻被初始化(聲明和定義的過程一起完成)
在python中, 每一個變量在內(nèi)存中創(chuàng)建,我們可以通過變量來查看內(nèi)存中的值
哈哈,這里是不是很熟悉,跟c中的指針一樣啊(訪問內(nèi)存中的值)
首先大家需要了解一點:在python中:
x =5之后,我們要了解它的過程:系統(tǒng)先是找了一塊內(nèi)存,將5存儲了進去,緊接著x指向了當(dāng)前的這塊內(nèi)存
預(yù)測1:python下的變量是一個指針
>>> x = 4 >>> y = 5 >>> print x 4 >>> print y 5 >>> id(x) 10413988 >>> id(y) 10413976 >>> x = y >>> id(x) 10413976 >>> id(y) 10413976 >>>
從上面我們可以看到:
x = 4
說明x指向了內(nèi)存中存儲為4的那個地址,那個地址是10413988
y = 5
說明y指向了內(nèi)存中存儲為5的那個地址,那個地址是10413976

也就是說在執(zhí)行x = 4,y = 5之后,x,y分別指向了不同的地址,當(dāng)執(zhí)行 x = y之后:

也就是說,x指向了y所指向的內(nèi)存了,這里我們知道,它們都指向同一塊內(nèi)存
哈哈,原來跟c里面的指針真的一樣哎!!!哈哈哈
(但是,但是,但是:就這些嗎??)
>>> x = 4 >>> print x 4 >>> id(x) 10413988 >>> x = 5 >>> print x 5 >>> id(x) 10413976 >>>
好,我們大家接著看:

也就是說:開始的時候,x指向了10413988這塊內(nèi)存,里面存儲的是4
當(dāng)執(zhí)行了x = 5之后,也就變成了這樣:

好,ok就是這樣了,
不知道大家注意到了嗎?
在python中,一開始初始化存儲在內(nèi)存的東西是不可以更改的,我們所能更改的只是它的指向,
但是,但是,在c中,對于int x= 4; 也就是說x的地址是定的,里面存儲的東西可以更改
#include <stdio.h> int main(){ int x = 4; printf("%p %d/n", &x, x); x = 5; printf("%p %d/n", &x, x); return 0; } 我們大家再看一下運行結(jié)果:

從上面可以看到,地址并沒有變,好了,這一點,python和c的區(qū)別較大,希望大家注意。
二: 內(nèi)存大小
我們來看一下這樣的代碼:
新聞熱點
疑難解答