最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

圖解Python變量與賦值

 更新時(shí)間:2018年04月03日 13:54:23   作者:liuzhijun  
Python是一門獨(dú)特的語言,與C語言有很大區(qū)別,初學(xué)Python很多萌新表示對(duì)變量與賦值不理解,這里就大家介紹一下,需要的朋友可以參考下

Python是一門獨(dú)特的語言,與C語言有很大區(qū)別,初學(xué)Python很多萌新表示對(duì)變量與賦值不理解,學(xué)過C的都知道,給變量賦值時(shí),需要先指定數(shù)據(jù)類型,同時(shí)會(huì)開辟一塊內(nèi)存區(qū)域,用于存儲(chǔ)值,例如:

int a = 1;

inta

a 就是內(nèi)存空間中的一小塊區(qū)域,就像是一個(gè)大房間里面的一個(gè)小盒子,賦值就是把整數(shù)1裝載到盒子里面。

現(xiàn)在給變量a重新賦值

a = 2;

inta2

盒子依然是那個(gè)盒子,也就是說內(nèi)存地址沒有變,只是該段內(nèi)存中的值變了,變成了2。

再來看:

int b = a;

inta3

當(dāng)把變量a賦值給另外一個(gè)變量b時(shí),相當(dāng)于把值拷貝了一份傳遞給變量b,b是新開辟的一段內(nèi)存區(qū)域

而在Python中,“變量”的嚴(yán)格叫法是“名字(name)”,也可以理解為標(biāo)簽,就像我們?nèi)说男彰粯?,名字就是掛在人身上的一個(gè)標(biāo)簽。

>>> 10-a
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

比如上面這段錯(cuò)誤報(bào)的是name 'a' 沒有定義,而沒有說成 variable。

在Python中,給變量賦值就是相當(dāng)于給對(duì)象貼標(biāo)簽,就像我們給人取名字一樣,變量本身是沒有任何意義的,它沒有類型信息,真正的信息都在對(duì)象身上。

例如:

a = 1

a1

Python內(nèi)部首先會(huì)分配一段內(nèi)存空間用于創(chuàng)建整數(shù)對(duì)象1,然后給這個(gè)1貼上名為a的標(biāo)簽。

然后執(zhí)行

a=2

Python接著會(huì)在另一塊內(nèi)存區(qū)域創(chuàng)建整數(shù)對(duì)象2,然后把標(biāo)簽a從1身上撕下來貼在2身上,此時(shí),我們沒法再通過a來得到1這個(gè)值了。

a2

現(xiàn)在把名字a賦值給另外一個(gè)名字b

b = a

a3

相當(dāng)于在剛才的2身上又貼了一個(gè)新的標(biāo)簽b,注意,這里和C語言是完全不一樣的,定義b的時(shí)候不需要分配內(nèi)存空間,這樣我們既可以通過a來訪問2也可以通過b來訪問2,訪問的都是同一個(gè)對(duì)象,就好比我們給寶寶取名時(shí)既有小名也有大名,其實(shí)叫的都是同一個(gè)人。

雖然我們通常在Python中還是用"變量"的叫法(因?yàn)樵诰幊陶Z言中這是一種通用叫法),但是我們需要理解Python中的變量不同于其他語言,變量只是一個(gè)名字。

理解了Python中的變量與賦值后,再來看函數(shù)的參數(shù)傳遞,如下所示:

>>> def fun_a(a):
...   a = a+4
...
>>> g = 0
>>> fun_a(g)
>>> g
0

全局變量g傳遞給函數(shù)fun_a時(shí),相當(dāng)于函數(shù)中的參數(shù)a也將作為標(biāo)簽貼在0上,隨后a被重新賦值了(a=a+4),相當(dāng)于從0撕下標(biāo)簽a貼到4身上,然后g依然還是0上面的標(biāo)簽。

names1

再來看這個(gè)函數(shù),傳遞的是一個(gè)列表對(duì)象

>>> def fun_b(names):
...   names[0] = ['x', 'y']
...
>>> n_list = ['a','b','c']
>>> fun_b(n_list)
>>>
>>> n_list
[['x','y'], 'b', 'c']

與前面的步驟還是一樣的,names 和 n_list 都是['a','b','c']上的一個(gè)標(biāo)簽,只是列表中的第0個(gè)元素被重新賦值了,但是names和 n_list 依然都貼在這個(gè)列表對(duì)象身上,雖然 n_list的值更新了,但對(duì)象依然是原來那個(gè)對(duì)象。就好比張三和小張都是同一個(gè)人,現(xiàn)在給小張換件衣服時(shí),其實(shí)就是給張三換件衣服,人還是那個(gè)人,只是它身上的東西發(fā)生了變化。

names1

以上內(nèi)容就介紹到這,大家可以繼續(xù)看下面的相關(guān)文章。

相關(guān)文章

  • python刪除目錄的三種方法

    python刪除目錄的三種方法

    本文主要介紹了python刪除目錄的三種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Python中decorator使用實(shí)例

    Python中decorator使用實(shí)例

    這篇文章主要介紹了Python中decorator使用實(shí)例,本文講解了如何調(diào)用decorator、decorator函數(shù)的定義、decorator的應(yīng)用場(chǎng)景等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • pytorch模型轉(zhuǎn)換為onnx可視化(使用netron)

    pytorch模型轉(zhuǎn)換為onnx可視化(使用netron)

    netron 是一個(gè)非常好用的網(wǎng)絡(luò)結(jié)構(gòu)可視化工具,但是netron對(duì)pytorch模型的支持還不成熟,這篇文章主要介紹了pytorch模型轉(zhuǎn)換為onnx,并使用netron可視化,需要的朋友可以參考下
    2023-05-05
  • 解決pycharm下pyuic工具使用的問題

    解決pycharm下pyuic工具使用的問題

    這篇文章主要介紹了解決pycharm下pyuic工具使用的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python操作SQLite數(shù)據(jù)庫的方法詳解【導(dǎo)入,創(chuàng)建,游標(biāo),增刪改查等】

    Python操作SQLite數(shù)據(jù)庫的方法詳解【導(dǎo)入,創(chuàng)建,游標(biāo),增刪改查等】

    這篇文章主要介紹了Python操作SQLite數(shù)據(jù)庫的方法,簡(jiǎn)單說明了sqlite數(shù)據(jù)庫的相關(guān)概念,并結(jié)合實(shí)例形式較為詳細(xì)的分析了Python針對(duì)sqlite數(shù)據(jù)庫的導(dǎo)入,創(chuàng)建,游標(biāo),增刪改查等操作技巧,需要的朋友可以參考下
    2017-07-07
  • 解決csv.writer寫入文件有多余的空行問題

    解決csv.writer寫入文件有多余的空行問題

    今天小編就為大家分享一篇解決csv.writer寫入文件有多余的空行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python通過命令行向Scrapy傳遞參數(shù)

    Python通過命令行向Scrapy傳遞參數(shù)

    crapy作為一個(gè)強(qiáng)大的Web爬取框架,提供了靈活的命令行參數(shù)傳遞功能,本文介紹了通過命令行向Scrapy爬蟲傳遞參數(shù)的方法,旨在增強(qiáng)爬蟲的靈活性和可配置性,感興趣的可以了解一下
    2024-10-10
  • 地圖可視化神器kepler.gl python接口的使用方法

    地圖可視化神器kepler.gl python接口的使用方法

    這篇文章主要介紹了python 地圖可視化神器kepler.gl近期重要更新的的相關(guān)資料,幫助大家利用python實(shí)現(xiàn)地圖可視化,感興趣的朋友可以了解下
    2020-12-12
  • pyspark給dataframe增加新的一列的實(shí)現(xiàn)示例

    pyspark給dataframe增加新的一列的實(shí)現(xiàn)示例

    這篇文章主要介紹了pyspark給dataframe增加新的一列的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python中打包和解包(*和**)的使用詳解

    Python中打包和解包(*和**)的使用詳解

    *和**在函數(shù)的定義和調(diào)用階段,有著不同的功能,并且,*和**不能離開函數(shù)使用,這篇文章主要介紹了Python中打包和解包(*和**)的使用詳解,需要的朋友可以參考下
    2022-08-08

最新評(píng)論

武鸣县| 呈贡县| 余姚市| 高密市| 巍山| 绍兴县| 威远县| 手游| 罗田县| 延川县| 南京市| 石狮市| 淄博市| 西平县| 铁岭县| 巩留县| 阳朔县| 利津县| 平顶山市| 黄梅县| 五常市| 唐山市| 同心县| 麻江县| 林州市| 东城区| 治县。| 怀仁县| 临潭县| 社旗县| 务川| 蒙阴县| 高碑店市| 勐海县| 连州市| 栖霞市| 囊谦县| 聊城市| 中江县| 特克斯县| 华容县|