欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中的變量如何開辟內(nèi)存

 更新時(shí)間:2018年06月26日 10:21:58   作者:lm_y  
python中的變量如何開辟內(nèi)存?今天小編就為大家介紹一下python中變量開辟內(nèi)存的方法。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

python下的變量

不需要預(yù)先聲明變量的類型,變量的類型和值在賦值的那一刻被初始化(聲明和定義的過(guò)程一起完成)

在python中, 每一個(gè)變量在內(nèi)存中創(chuàng)建,我們可以通過(guò)變量來(lái)查看內(nèi)存中的值

哈哈,這里是不是很熟悉,跟c中的指針一樣?。ㄔL問(wèn)內(nèi)存中的值)

首先大家需要了解一點(diǎn):在python中:

x =5之后,我們要了解它的過(guò)程:系統(tǒng)先是找了一塊內(nèi)存,將5存儲(chǔ)了進(jìn)去,緊接著x指向了當(dāng)前的這塊內(nèi)存

預(yù)測(cè)1:python下的變量是一個(gè)指針

>>> 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

說(shuō)明x指向了內(nèi)存中存儲(chǔ)為4的那個(gè)地址,那個(gè)地址是10413988

y = 5

說(shuō)明y指向了內(nèi)存中存儲(chǔ)為5的那個(gè)地址,那個(gè)地址是10413976

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

也就是說(shuō),x指向了y所指向的內(nèi)存了,這里我們知道,它們都指向同一塊內(nèi)存

哈哈,原來(lái)跟c里面的指針真的一樣哎?。。」?/p>

(但是,但是,但是:就這些嗎??)

>>> x = 4 
>>> print x 
4 
>>> id(x) 
10413988 
>>> x = 5 
>>> print x 
5 
>>> id(x) 
10413976 
>>> 

好,我們大家接著看:

也就是說(shuō):開始的時(shí)候,x指向了10413988這塊內(nèi)存,里面存儲(chǔ)的是4

當(dāng)執(zhí)行了x = 5之后,也就變成了這樣:

好,ok就是這樣了,

不知道大家注意到了嗎?

在python中,一開始初始化存儲(chǔ)在內(nèi)存的東西是不可以更改的,我們所能更改的只是它的指向,

但是,但是,在c中,對(duì)于int x= 4; 也就是說(shuō)x的地址是定的,里面存儲(chǔ)的東西可以更改

#include <stdio.h> 
 
int main(){ 
 int x = 4; 
 printf("%p %d\n", &x, x); 
 x = 5; 
 printf("%p %d\n", &x, x); 
  
 return 0; 
} 

我們大家再看一下運(yùn)行結(jié)果:

從上面可以看到,地址并沒(méi)有變,好了,這一點(diǎn),python和c的區(qū)別較大,希望大家注意。

二: 內(nèi)存大小

我們來(lái)看一下這樣的代碼:

>>> x = 6 
>>> id(x) 
10413964 
>>> y = 7 
>>> id(y) 
10413952 
>>> z = 8 
>>> id(z) 
10413940 
>>> 

從上面的程序中,我們知道系統(tǒng)給分配的地址分別是:

10413964
10413952
10413940

所以我們大膽推測(cè),python中應(yīng)該給這些整數(shù)的字節(jié)有可能就是12(哈哈,純屬個(gè)人推測(cè))

有可能內(nèi)存中就是這樣了的:

哈哈,也該就是這樣子了, 至于其他的大小,有興趣的朋友可以研究研究

三:python內(nèi)存

是不是說(shuō):在python中,系統(tǒng)將每一個(gè)值都放在了一個(gè)固定的位置,不然為什么,每一次探究?jī)?nèi)存地址的時(shí)候,結(jié)果都是一樣的(數(shù)值相等,地址也相等)

>>> x = 4 
>>> y = 5 
>>> id(x) 
10413988 
>>> id(y) 
10413976 
>>> 

假如系統(tǒng)為4分配了一塊內(nèi)存,遵循某種規(guī)則(類似于c里面的內(nèi)存對(duì)齊),那么接下來(lái)為5分配了另一塊內(nèi)存,權(quán)且分配到了10413976

那么下面這個(gè)如何解釋:

>>> x = 4 
>>> y = 6 
>>> id(x) 
10413988 
>>> id(y) 
10413964 
>>> 

假如遵循某種規(guī)則的話,應(yīng)該是6也分配到了10413976去了,可是,他被分配到了10413964

我們?cè)賮?lái)看:

>>> x = 4 
>>> y = 6 
>>> id(x) 
10413988 
>>> id(y) 
10413964 
>>> z = 5 
>>> id(z) 
10413976 
>>> 

這,哈哈,應(yīng)該就是這樣的了的吧?。。。?/p>

也就是說(shuō):python中,系統(tǒng)還是python本身為其分配內(nèi)存的時(shí)候就已經(jīng)根據(jù)這個(gè)值是多少,確定了內(nèi)存的位置了。。。

以上這篇python中的變量如何開辟內(nèi)存就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python基礎(chǔ)練習(xí)之用戶登錄實(shí)現(xiàn)代碼分享

    Python基礎(chǔ)練習(xí)之用戶登錄實(shí)現(xiàn)代碼分享

    這篇文章主要介紹了Python基礎(chǔ)練習(xí)之用戶登錄實(shí)現(xiàn)代碼分享,還是比較不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-11-11
  • Pycharm配置遠(yuǎn)程SSH服務(wù)器實(shí)現(xiàn)(切換不同虛擬環(huán)境)

    Pycharm配置遠(yuǎn)程SSH服務(wù)器實(shí)現(xiàn)(切換不同虛擬環(huán)境)

    本文主要介紹了Pycharm配置遠(yuǎn)程SSH服務(wù)器實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python中將字典形式的數(shù)據(jù)循環(huán)插入Excel

    python中將字典形式的數(shù)據(jù)循環(huán)插入Excel

    這篇文章主要介紹了python中將字典形式的數(shù)據(jù)循環(huán)插入Excel的方法,需要的朋友可以參考下
    2018-01-01
  • python 讀取數(shù)據(jù)庫(kù)并繪圖的實(shí)例

    python 讀取數(shù)據(jù)庫(kù)并繪圖的實(shí)例

    今天小編就為大家分享一篇python 讀取數(shù)據(jù)庫(kù)并繪圖的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python3.6 tkinter實(shí)現(xiàn)屏保小程序

    python3.6 tkinter實(shí)現(xiàn)屏保小程序

    這篇文章主要為大家詳細(xì)介紹了python3.6 tkinter實(shí)現(xiàn)屏保小程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • python基礎(chǔ)之文件操作和異常處理

    python基礎(chǔ)之文件操作和異常處理

    這篇文章主要介紹了python基礎(chǔ)之文件操作和異常處理,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有一定的幫助,需要的朋友可以參考下
    2021-04-04
  • 最新評(píng)論