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