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 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實(shí)現(xiàn)對(duì)列表中的元素進(jìn)行倒序打印
今天小編就為大家分享一篇python實(shí)現(xiàn)對(duì)列表中的元素進(jìn)行倒序打印,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-115 分鐘讀懂Python 中的 Hook 鉤子函數(shù)
這篇文章主要介紹了5 分鐘掌握 Python 中的 Hook 鉤子函數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12python判斷all函數(shù)輸出結(jié)果是否為true的方法
在本篇內(nèi)容里小編給各位整理的是一篇關(guān)于python判斷all函數(shù)輸出結(jié)果是否為true的方法,有需要的朋友們可以學(xué)習(xí)下。2020-12-12python實(shí)現(xiàn)可視化動(dòng)態(tài)CPU性能監(jiān)控
這篇文章主要為大家詳細(xì)介紹了python可視化動(dòng)態(tài)CPU性能監(jiān)控,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06基于Python實(shí)現(xiàn)人機(jī)PK小游戲
這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)人機(jī)PK小游戲,簡(jiǎn)單來說,就是隨機(jī)生成玩家和敵人的屬性,同時(shí)互相攻擊,直至一方血量小于零,感興趣的小伙伴可以學(xué)習(xí)一下2023-06-06使用seaborn繪制強(qiáng)化學(xué)習(xí)中的圖片問題
這篇文章主要介紹了使用seaborn繪制強(qiáng)化學(xué)習(xí)中的圖片問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01Python3實(shí)戰(zhàn)之爬蟲抓取網(wǎng)易云音樂的熱門評(píng)論
這篇文章主要給大家介紹了關(guān)于Python3實(shí)戰(zhàn)之爬蟲抓取網(wǎng)易云音樂熱評(píng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10