Python入門教程(二十五)Python的作用域
變量僅在創(chuàng)建區(qū)域內(nèi)可用。這稱為作用域。
局部作用域
在函數(shù)內(nèi)部創(chuàng)建的變量屬于該函數(shù)的局部作用域,并且只能在該函數(shù)內(nèi)部使用。
實例
在函數(shù)內(nèi)部創(chuàng)建的變量在該函數(shù)內(nèi)部可用:
def myfunc(): x = 100 print(x) myfunc()
運行實例
100
函數(shù)內(nèi)部的函數(shù)
如上例中所示,變量 x 在函數(shù)外部不可用,但對于函數(shù)內(nèi)部的任何函數(shù)均可用:
實例
能夠從函數(shù)內(nèi)的一個函數(shù)訪問局部變量:
def myfunc(): x = 100 def myinnerfunc(): print(x) myinnerfunc() myfunc()
運行實例
100
全局作用域
在 Python 代碼主體中創(chuàng)建的變量是全局變量,屬于全局作用域。
全局變量在任何范圍(全局和局部)中可用。
實例
在函數(shù)外部創(chuàng)建的變量是全局變量,任何人都可以使用:
x = 100 def myfunc(): print(x) myfunc() print(x)
運行實例
100 100
命名變量
如果在函數(shù)內(nèi)部和外部操作同名變量,Python 會將它們視為兩個單獨的變量,一個在全局范圍內(nèi)可用(在函數(shù)外部),而一個在局部范圍內(nèi)可用(在函數(shù)內(nèi)部):
實例
該函數(shù)將打印局部變量 x,然后代碼還會打印全局變量 x:
x = 100 def myfunc(): x = 200 print(x) myfunc() print(x)
運行實例
200 100
Global 關鍵字
如果您需要創(chuàng)建一個全局變量,但被卡在本地作用域內(nèi),則可以使用 global 關鍵字。
global 關鍵字使變量成為全局變量。
實例
如果使用 global 關鍵字,則該變量屬于全局范圍:
def myfunc(): global x x = 100 myfunc() print(x)
運行實例
100
另外,如果要在函數(shù)內(nèi)部更改全局變量,也請使用 global 關鍵字。
實例
要在函數(shù)內(nèi)部更改全局變量的值,請使用 global 關鍵字引用該變量:
x = 100 def myfunc(): global x x = 200 myfunc() print(x)
運行實例
200
到此這篇關于Python入門教程(二十五)Python的作用域的文章就介紹到這了,更多相關Python的作用域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python利用pandas計算多個CSV文件數(shù)據(jù)值的實例
下面小編就為大家分享一篇Python利用pandas計算多個CSV文件數(shù)據(jù)值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python 過濾字符串的技巧,map與itertools.imap
Python中的map函數(shù)非常有用,在字符轉換和字符遍歷兩節(jié)都出現(xiàn)過,現(xiàn)在,它又出現(xiàn)了,會給我們帶來什么樣的驚喜呢?是不是要告訴我們,map是非常棒的,以后要多找它玩呢?2008-09-09Python實現(xiàn)郵件發(fā)送的詳細設置方法(遇到問題)
這篇文章主要介紹了Python實現(xiàn)郵件發(fā)送的詳細設置方法(遇到問題),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01Python3.7在anaconda里面使用IDLE編譯器的步驟詳解
這篇文章主要介紹了Python3.7在anaconda里面使用IDLE編譯器的步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-04-04