Python作用域(局部?全局)及global關(guān)鍵字使用詳解
局部作用域
變量只在創(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 = 300 print(x) myfunc()
函數(shù)內(nèi)部的函數(shù)
如上面的示例所解釋的那樣,變量 x 在函數(shù)外部不可用,但可以在函數(shù)內(nèi)部的任何函數(shù)中使用:
示例:局部變量可以從函數(shù)內(nèi)部的函數(shù)中訪問:
def myfunc(): x = 300 def myinnerfunc(): print(x) myinnerfunc() myfunc()
全局作用域
在 Python 代碼的主體部分創(chuàng)建的變量是全局變量,屬于全局作用域。全局變量可以在任何作用域中使用,包括全局作用域和局部作用域。
示例:在函數(shù)外部創(chuàng)建的變量是全局的,并且可以被任何人使用:
x = 300 def myfunc(): print(x) myfunc() print(x)
變量命名
如果在函數(shù)內(nèi)部和外部使用相同的變量名稱,Python 將把它們視為兩個不同的變量,一個在全局作用域(函數(shù)外部)中可用,另一個在局部作用域(函數(shù)內(nèi)部)中可用:
示例:該函數(shù)將打印局部變量 x,然后代碼將打印全局變量 x:
x = 300 def myfunc(): x = 200 print(x) myfunc() print(x)
global 關(guān)鍵字
如果需要創(chuàng)建一個全局變量,但又受限于局部作用域,可以使用 global 關(guān)鍵字。global 關(guān)鍵字將變量聲明為全局變量。
示例:如果使用 global 關(guān)鍵字,變量將屬于全局作用域:
def myfunc(): global x x = 300 myfunc() print(x)
此外,如果您希望在函數(shù)內(nèi)部更改全局變量的值,也可以使用 global 關(guān)鍵字。
示例:要在函數(shù)內(nèi)部更改全局變量的值,請使用 global 關(guān)鍵字引用該變量:
x = 300 def myfunc(): global x x = 200 myfunc() print(x)
以上就是Python作用域(局部 全局)及global關(guān)鍵字使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Python作用域global關(guān)鍵字的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Django 實現(xiàn)將圖片轉(zhuǎn)為Base64,然后使用json傳輸
這篇文章主要介紹了Django 實現(xiàn)將圖片轉(zhuǎn)為Base64,然后使用json傳輸,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python基礎(chǔ)之模塊相關(guān)知識總結(jié)
今天帶大家復(fù)習(xí)Python基礎(chǔ)知識,文中對模塊相關(guān)知識介紹的非常詳細(xì),對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05PageFactory設(shè)計模式基于python實現(xiàn)
這篇文章主要介紹了PageFactory設(shè)計模式基于python實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04Python學(xué)習(xí)之configparser模塊的使用詳解
ConfigParser是用來讀取配置文件的包。這篇文章主要通過一些簡單的實例帶大家了解一下ConfigParser模塊的具體使用,感興趣的小伙伴跟隨小編一起了解一下2023-01-01Python使用pandas讀取Excel并選取列轉(zhuǎn)json
這篇文章主要為大家詳細(xì)介紹了通過Python和pyqt5設(shè)計一個工具,可以實現(xiàn)pandas讀取Excel選取列作為鍵或值轉(zhuǎn)json,感興趣的小伙伴可以了解下2025-02-02