欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python函數(shù)局部變量 python函數(shù)調用局部變量

python局部變量與全局變量

(1)局部變量 是在 函數(shù)內部定義的變量,只能在函數(shù)內部使用

成都創(chuàng)新互聯(lián)主營沙灣網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶APP開發(fā),沙灣h5小程序定制開發(fā)搭建,沙灣網(wǎng)站營銷推廣歡迎沙灣等地區(qū)企業(yè)咨詢

(2)函數(shù)執(zhí)行結束后,函數(shù)內部的局部變量,會被系統(tǒng)回收

(3)不同的函數(shù),可以定義相同的名字的局部變量,不會互相影響

示例:

結果:

所謂生命周期就是變量從被創(chuàng)建到被系統(tǒng)回收的過程

(1)局部變量在函數(shù)執(zhí)行時才會被創(chuàng)建

(2)函數(shù)執(zhí)行結束后,局部變量被系統(tǒng)回收

(3)局部變量在生命周期內,可以用來存儲函數(shù)內部臨時使用到的數(shù)據(jù)

示例:

結果:

示例:

結果:

示例:

結果:

(1)為了避免局部變量和全局變量出現(xiàn)混淆,在定義全局變量時,有些公司會有一些開發(fā)要求,例如:全局變量名前加上gl_或者g_的前綴,但不同公司可能不一致;

(2)建議全局變量的命名與局部變量的規(guī)則區(qū)分開;

python中變量的引用、可變和不可變類型、局部變量和全局變量

變量的引用

變量和數(shù)據(jù)都是保存在內存中的

變量和數(shù)據(jù)是分開存儲的

數(shù)據(jù)保存在內存中某個位置,通過地址來標記

變量保存的是數(shù)據(jù)的地址,通過地址可以找到數(shù)據(jù)在內存空間的位置

把變量保存數(shù)據(jù)地址的過程稱為引用

變量的重新賦值修改的是變量中引用數(shù)據(jù)的內存地址

變量之間的賦值實際是引用的傳遞

函數(shù)參數(shù)的傳遞,本質也是引用的傳遞

函數(shù)的返回值本身也是引用的傳遞

可變和不可變類型

不可變類型,內存中的數(shù)據(jù)不允許被修改:數(shù)字類型(int,bool,float,complex,long(2,x)、字符串、元組(tuple)

可變類型,內存中的數(shù)據(jù)可以被修改:列表list、字典dict

無論是可變還是不可變數(shù)據(jù)類型,通過賦值語句,都會改變變量的引用

Hash函數(shù)只能接收不可變數(shù)據(jù)類型,字典的鍵也只能是不可變數(shù)據(jù)類型,字典的value值可以是任意數(shù)據(jù)類型

局部變量

1.在函數(shù)內部定義的變量就是局部變量(作用范圍只能是當前函數(shù)內部)

2.在函數(shù)外部無法直接訪問局部變量

3.不同的函數(shù)中可以定義同名的局部變量

4.局部變量的生命周期:從定義變量時開始,到函數(shù)運行結束

全局變量

1.在所有函數(shù)外邊定義的變量就是全局變量

2.讓所有函數(shù)都能訪問到,可以作為函數(shù)通信的橋梁

3.一般情況下,為了和普通變量的區(qū)別,需要加上g_或gl_前綴

4.全局變量一般放在所有函數(shù)的最上面

5.在函數(shù)內部修改全局變量,必須要加上global關鍵字,如果不加global只是定義了一個同名的局部變量

函數(shù)的多個返回值

python中使用閉包及修改外部函數(shù)的局部變量

在python中,函數(shù)可以被嵌套定義,也就是說,函數(shù)中可以定義函數(shù)。該函數(shù)還可以將其內部定義的函數(shù)作為返回值返回。

閉包的定義:一般來說,我們可以認為,如果一個函數(shù)可以讀取其他函數(shù)中的局部變量,那么它們就構成了閉包。

注意 :閉包的定義不是特別清晰,但大體上的意思是這樣的。

我們知道,普通的函數(shù)是可以使用全局變量的

類似的,函數(shù)中定義的函數(shù),也是可以使用外部函數(shù)的變量的。因此,滿足了函數(shù)讀取了其他函數(shù)局部變量的這一條件,他們因此構成了閉包。

在閉包的使用中,我們可以先給外部的函數(shù)賦予不同的局部變量,然后再調用其中內部的函數(shù)時,就可以讀取到這些不同的局部變量了。

外部變量的使用 在普通函數(shù)中,雖然可以直接使用全局變量,但是不可以直接修改全局變量。從變量的作用域來說,一旦你嘗試修改全局變量,那么就會嘗試創(chuàng)建并使用一個同名的局部變量。因此,如果你需要在普通函數(shù)中修改全局變量,需要使用global

同樣的,如果你希望通過定義在內部的函數(shù)去修改其外部函數(shù)的變量,那么必須使用nonlocal

python函數(shù)中局部變量與全局變量遵守規(guī)則

(1)簡單數(shù)據(jù)類型變量無論是否與全局變量重名,僅在函數(shù)內部創(chuàng)建和使用,函數(shù)退出后變量被釋放,如有全局同名變量,其值不變。

(2)簡單數(shù)據(jù)類型變量在用global保留字聲明后,作為全局變量使用,函數(shù)退出后該變量保留且值被函數(shù)改變。

(3)對于組合數(shù)據(jù)類型的全局變量,如果在函數(shù)內部沒有被真實創(chuàng)建的同名變量,則函數(shù)內部可以直接使用并修改全局變量的值。

(4)如果函數(shù)內部真實創(chuàng)建了組合數(shù)據(jù)類型變量,無論是否有同名全局變量,函數(shù)僅對局部變量進行操作,函數(shù)退出后局部變量被釋放,全局變量值不變。

*《python語言程序設計基礎》.高等教育出版社

網(wǎng)頁名稱:python函數(shù)局部變量 python函數(shù)調用局部變量
URL分享:http://chinadenli.net/article8/hgdoip.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站全網(wǎng)營銷推廣做網(wǎng)站營銷型網(wǎng)站建設外貿建站網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設