1,python 語言的變量和其餘語言的變量概念有所不一樣python
變量------------->到底什麼在變???ide
>>> x=12 x指向12所在的內存單元
>>> y=13 y指向13所在的內存單元
>>> print x
12
>>> print y
13指針
在python中變量是某一塊內存的小標籤內存
x=y 含義是將x指向y指向的內存單元(相似c語言中的指針),因此,不能經過變量修改其指向內存單元中的數據,經過賦值能夠改變其指向。it
變量的變化的是內存指向,而不是其指向中的數據。
class
>>> x=12
>>> x=13
>>> print x 以前12指向的內存單元中的數據依舊是12
13變量
>>> x=13
>>> id(x)
37841736 (內存標籤1)
>>> x=12
>>> id(x)
37841760 (內存標籤2)
>>> y=13 -------將13所在內存單元中的地址給了y,即y指向13所在的內存單元
>>> id(y)
37841736 (內存標籤3和內存標籤1相同)原理
x=y 原理: x---->| 12
數據類型
y---->|-------13float
在c語言中,變量一次分配內存地址不變
python中,x=100新產生變量時,新分配內存存放數據,並修改變量的數據指向
問題:在python中何時釋放內存呢?
2,python中的變量無數據類型之說,(即不用像c語言那樣指定變量的類型)
賦什麼類型的值,變量就是什麼類型
>>> x=12
>>> type(x)
<type 'int'>
>>> y=12.5
>>> type(y)
<type 'float'>
>>> z='www.baidu.com'
>>> type(z)<type 'str'>