變量的引用
成都創新互聯專注于神農架林區企業網站建設,響應式網站開發,商城系統網站開發。神農架林區網站建設公司,為神農架林區等地區提供建站服務。全流程定制設計,專業設計,全程項目跟蹤,成都創新互聯專業和態度為您提供的服務
變量和數據都是保存在內存中的
變量和數據是分開存儲的
數據保存在內存中某個位置,通過地址來標記
變量保存的是數據的地址,通過地址可以找到數據在內存空間的位置
把變量保存數據地址的過程稱為引用
變量的重新賦值修改的是變量中引用數據的內存地址
變量之間的賦值實際是引用的傳遞
函數參數的傳遞,本質也是引用的傳遞
函數的返回值本身也是引用的傳遞
可變和不可變類型
不可變類型,內存中的數據不允許被修改:數字類型(int,bool,float,complex,long(2,x)、字符串、元組(tuple)
可變類型,內存中的數據可以被修改:列表list、字典dict
無論是可變還是不可變數據類型,通過賦值語句,都會改變變量的引用
Hash函數只能接收不可變數據類型,字典的鍵也只能是不可變數據類型,字典的value值可以是任意數據類型
局部變量
1.在函數內部定義的變量就是局部變量(作用范圍只能是當前函數內部)
2.在函數外部無法直接訪問局部變量
3.不同的函數中可以定義同名的局部變量
4.局部變量的生命周期:從定義變量時開始,到函數運行結束
全局變量
1.在所有函數外邊定義的變量就是全局變量
2.讓所有函數都能訪問到,可以作為函數通信的橋梁
3.一般情況下,為了和普通變量的區別,需要加上g_或gl_前綴
4.全局變量一般放在所有函數的最上面
5.在函數內部修改全局變量,必須要加上global關鍵字,如果不加global只是定義了一個同名的局部變量
函數的多個返回值
(1)簡單數據類型變量無論是否與全局變量重名,僅在函數內部創建和使用,函數退出后變量被釋放,如有全局同名變量,其值不變。
(2)簡單數據類型變量在用global保留字聲明后,作為全局變量使用,函數退出后該變量保留且值被函數改變。
(3)對于組合數據類型的全局變量,如果在函數內部沒有被真實創建的同名變量,則函數內部可以直接使用并修改全局變量的值。
(4)如果函數內部真實創建了組合數據類型變量,無論是否有同名全局變量,函數僅對局部變量進行操作,函數退出后局部變量被釋放,全局變量值不變。
*《python語言程序設計基礎》.高等教育出版社
在Python可以在函數中直接使用定義的全局變量,但是 如果需要修改這個全局變量 ,那么就要在函數前面 global a 表明在函數中的 a 是 全局變量 a 而不是重新定義的局部變量 a 。
(1)局部變量 是在 函數內部定義的變量,只能在函數內部使用
(2)函數執行結束后,函數內部的局部變量,會被系統回收
(3)不同的函數,可以定義相同的名字的局部變量,不會互相影響
示例:
結果:
所謂生命周期就是變量從被創建到被系統回收的過程
(1)局部變量在函數執行時才會被創建
(2)函數執行結束后,局部變量被系統回收
(3)局部變量在生命周期內,可以用來存儲函數內部臨時使用到的數據
示例:
結果:
示例:
結果:
示例:
結果:
(1)為了避免局部變量和全局變量出現混淆,在定義全局變量時,有些公司會有一些開發要求,例如:全局變量名前加上gl_或者g_的前綴,但不同公司可能不一致;
(2)建議全局變量的命名與局部變量的規則區分開;
網頁名稱:python函數全局,python定義全局函數
轉載注明:http://vcdvsql.cn/article28/hecgcp.html
成都網站建設公司_創新互聯,為您提供自適應網站、搜索引擎優化、網站內鏈、網站制作、外貿建站、定制網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯