python變量的作用域是什么
變量作用域:
一般在函數(shù)體外定義的變量成為全局變量,在函數(shù)內(nèi)部定義的變量稱(chēng)為局部變量。
全局變量所有作用域都可讀,局部變量只能在本函數(shù)可讀
函數(shù)在讀取變量時(shí),優(yōu)先讀取函數(shù)本身自有的局部變量,再去讀全局變量
全局變量
讀,均可讀
賦值,global
字典,列表可修改
全局變量全大寫(xiě)
例如
name = 'Tim' #全局變量 def f1(): age = 18 #局部變量 print(age,name) def f2(): age=19 #局部變量 f1() f2() >>> 18 Tim 19 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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 連續(xù)不等式語(yǔ)法糖實(shí)例
這篇文章主要介紹了python 連續(xù)不等式語(yǔ)法糖實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
selenium查找網(wǎng)頁(yè)出現(xiàn)加載卡頓或失敗的解決方法
這篇文章主要為大家詳細(xì)介紹了selenium查找網(wǎng)頁(yè)時(shí)如何處理網(wǎng)站資源一直加載非??D或者失敗的情況,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-10-10
Python中對(duì)數(shù)組集進(jìn)行按行打亂shuffle的方法
今天小編就為大家分享一篇Python中對(duì)數(shù)組集進(jìn)行按行打亂shuffle的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
Python標(biāo)準(zhǔn)庫(kù)copy的具體使用
copy模塊是Python標(biāo)準(zhǔn)庫(kù)中用于對(duì)象拷貝的核心模塊,提供了淺拷貝(copy)和深拷貝(deepcopy)兩種對(duì)象復(fù)制機(jī)制,本文主要介紹了Python標(biāo)準(zhǔn)庫(kù)copy的具體使用,感興趣的可以了解一下2025-04-04
Python動(dòng)態(tài)賦值的陷阱知識(shí)點(diǎn)總結(jié)
在本文中我們給大家整理了關(guān)于Python動(dòng)態(tài)賦值的陷阱的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-03-03

