python變量的作用域是什么
變量作用域:
一般在函數(shù)體外定義的變量成為全局變量,在函數(shù)內(nèi)部定義的變量稱為局部變量。
全局變量所有作用域都可讀,局部變量只能在本函數(shù)可讀
函數(shù)在讀取變量時(shí),優(yōu)先讀取函數(shù)本身自有的局部變量,再去讀全局變量
全局變量
讀,均可讀
賦值,global
字典,列表可修改
全局變量全大寫
例如
name = ’Tim’ #全局變量def f1(): age = 18 #局部變量 print(age,name) def f2(): age=19 #局部變量f1()f2()>>>18 Tim19 Tim
在函數(shù)內(nèi)部也可以定義全局變量:
name = ’Tim’ #全局變量def f1(): age = 18 #局部變量 global name #定義全局變量 name = ’Eric’ print(age,name)f1()print(name)
全局變量默認(rèn)可讀,如果需要改變?nèi)肿兞康闹?,需要在函?shù)內(nèi)部使用global定義
特殊:列表,字典,可修改,但不能重新賦值,如果需要重新賦值,需要在函數(shù)內(nèi)部使用global定義全局變量
NAME = [’Tim’,’mike’] #全局變量NAME1 = [’Eric’,’Jeson’] #全局變量NAME3 = [’Tom’,’jane’] #全局變量def f1(): NAME.append(’Eric’) #列表的append方法可改變外部全局變量的值 print(’函數(shù)內(nèi)NAME: %s’%NAME) NAME1 = ’123’ #重新賦值不可改變外部全局變量的值 print(’函數(shù)內(nèi)NAME1: %s’%NAME1) global NAME3 #如果需要重新給列表賦值,需要使用global定義全局變量 NAME3 = ’123’ print(’函數(shù)內(nèi)NAME3: %s’%NAME3)f1()print(’函數(shù)外NAME: %s’%NAME)print(’函數(shù)外NAME1: %s’%NAME1)print(’函數(shù)外NAME3: %s’%NAME3)>>>
函數(shù)內(nèi)NAME: [’Tim’, ’mike’, ’Eric’]
函數(shù)內(nèi)NAME1: 123
函數(shù)內(nèi)NAME3: 123
函數(shù)外NAME: [’Tim’, ’mike’, ’Eric’]
函數(shù)外NAME1: [’Eric’, ’Jeson’]
函數(shù)外NAME3: 123
到此這篇關(guān)于python變量的作用域是什么的文章就介紹到這了,更多相關(guān)python變量的作用域內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP基礎(chǔ)入門第四篇(腳本變量、函數(shù)、過程和條件語(yǔ)句)2. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫金額)的函數(shù)3. jscript與vbscript 操作XML元素屬性的代碼4. JSP開發(fā)之hibernate之單向多對(duì)一關(guān)聯(lián)的實(shí)例5. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)6. HTML5實(shí)戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)7. 基于PHP做個(gè)圖片防盜鏈8. jsp 實(shí)現(xiàn)的簡(jiǎn)易mvc模式示例9. XML在語(yǔ)音合成中的應(yīng)用10. PHP session反序列化漏洞超詳細(xì)講解
