Python入門教程(二十五)Python的作用域
變量?jī)H在創(chuàng)建區(qū)域內(nèi)可用。這稱為作用域。
局部作用域
在函數(shù)內(nèi)部創(chuàng)建的變量屬于該函數(shù)的局部作用域,并且只能在該函數(shù)內(nèi)部使用。
實(shí)例
在函數(shù)內(nèi)部創(chuàng)建的變量在該函數(shù)內(nèi)部可用:
def myfunc(): x = 100 print(x) myfunc()
運(yùn)行實(shí)例
100
函數(shù)內(nèi)部的函數(shù)
如上例中所示,變量 x 在函數(shù)外部不可用,但對(duì)于函數(shù)內(nèi)部的任何函數(shù)均可用:
實(shí)例
能夠從函數(shù)內(nèi)的一個(gè)函數(shù)訪問(wèn)局部變量:
def myfunc():
x = 100
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
運(yùn)行實(shí)例
100
全局作用域
在 Python 代碼主體中創(chuàng)建的變量是全局變量,屬于全局作用域。
全局變量在任何范圍(全局和局部)中可用。
實(shí)例
在函數(shù)外部創(chuàng)建的變量是全局變量,任何人都可以使用:
x = 100 def myfunc(): print(x) myfunc() print(x)
運(yùn)行實(shí)例
100 100
命名變量
如果在函數(shù)內(nèi)部和外部操作同名變量,Python 會(huì)將它們視為兩個(gè)單獨(dú)的變量,一個(gè)在全局范圍內(nèi)可用(在函數(shù)外部),而一個(gè)在局部范圍內(nèi)可用(在函數(shù)內(nèi)部):
實(shí)例
該函數(shù)將打印局部變量 x,然后代碼還會(huì)打印全局變量 x:
x = 100 def myfunc(): x = 200 print(x) myfunc() print(x)
運(yùn)行實(shí)例
200 100
Global 關(guān)鍵字
如果您需要?jiǎng)?chuàng)建一個(gè)全局變量,但被卡在本地作用域內(nèi),則可以使用 global 關(guān)鍵字。
global 關(guān)鍵字使變量成為全局變量。
實(shí)例
如果使用 global 關(guān)鍵字,則該變量屬于全局范圍:
def myfunc(): global x x = 100 myfunc() print(x)
運(yùn)行實(shí)例
100
另外,如果要在函數(shù)內(nèi)部更改全局變量,也請(qǐng)使用 global 關(guān)鍵字。
實(shí)例
要在函數(shù)內(nèi)部更改全局變量的值,請(qǐng)使用 global 關(guān)鍵字引用該變量:
x = 100 def myfunc(): global x x = 200 myfunc() print(x)
運(yùn)行實(shí)例
200
到此這篇關(guān)于Python入門教程(二十五)Python的作用域的文章就介紹到這了,更多相關(guān)Python的作用域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
tesserocr與pytesseract模塊的使用方法解析
這篇文章主要介紹了tesserocr與pytesseract模塊的使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python內(nèi)置函數(shù)delattr的具體用法
本篇文章主要介紹了Python內(nèi)置函數(shù)delattr的具體用法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Python實(shí)現(xiàn)批量提取word文件中文本框內(nèi)容
在日常的辦公中,有時(shí)需要提取多個(gè)word文件中的文字框的內(nèi)容,這篇文章主要為大家介紹了三種常見(jiàn)的方法來(lái)提取文本框的內(nèi)容,希望對(duì)大家有一定的幫助2024-02-02
Python中的遠(yuǎn)程調(diào)試與性能優(yōu)化技巧分享
Python 是一種簡(jiǎn)單易學(xué)、功能強(qiáng)大的編程語(yǔ)言,廣泛應(yīng)用于各種領(lǐng)域,包括網(wǎng)絡(luò)編程、數(shù)據(jù)分析、人工智能等,在開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到需要遠(yuǎn)程調(diào)試和性能優(yōu)化的情況,本文將介紹如何利用遠(yuǎn)程調(diào)試工具和性能優(yōu)化技巧來(lái)提高 Python 應(yīng)用程序的效率和性能2024-05-05
pytorch實(shí)現(xiàn)textCNN的具體操作
這篇文章主要介紹了pytorch實(shí)現(xiàn)textCNN的具體操作流程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python使用monkey.patch_all()解決協(xié)程阻塞問(wèn)題
這篇文章主要介紹了Python使用monkey.patch_all()解決協(xié)程阻塞問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Ubuntu 下 vim 搭建python 環(huán)境 配置
這篇文章主要介紹了Ubuntu 下 vim 搭建python環(huán)境配置,需要的朋友可以參考下2017-06-06

