您好,登錄后才能下訂單哦!
這篇“Python全局變量和局部變量怎么創建”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python全局變量和局部變量怎么創建”文章吧。
全局變量是那些沒有在任何函數內部定義并具有全局范圍的變量,而局部變量是那些在函數內部定義的變量,其范圍僅限于該函數。換句話說,我們可以說局部變量只能在初始化它的函數內部訪問,而全局變量在整個程序和每個函數內部都可以訪問。局部變量是那些在函數內部初始化并且僅屬于該特定函數的變量。它不能在函數之外的任何地方訪問。讓我們看看如何創建一個局部變量。
示例: 創建局部變量
def f(): # local variable s = "I love python" print(s) # 驅動程序代碼 f()
輸出:
I love python
如果我們嘗試在函數外部使用這個局部變量,那么讓我們看看會發生什么。
例子:
def f(): # local variable s = "I love python" print("Inside Function:", s) # 驅動程序代碼 f() print(s)
輸出:
NameError: name 's' is not defined
這些是在任何函數之外定義的并且可以在整個程序中訪問的那些,即在每個函數的內部和外部。讓我們看看如何創建一個全局變量。
示例: 定義和訪問全局變量
# This function uses global variable s def f(): print("Inside Function", s) # Global scope s = "I love python" f() print("Outside Function", s)
輸出:
Inside Function I love python
Outside Function I love python
變量 s 被定義為全局變量,既可以在函數內部使用,也可以在函數外部使用。
注意: 由于沒有局部變量,因此將使用全局變量的值,但請確保局部變量和全局變量應具有相同的名稱。
現在,如果有一個同名的變量在函數內部以及全局初始化怎么辦。現在問題來了,局部變量是否會對全局變量產生一些影響,反之亦然,如果我們在函數 f() 中更改變量的值會發生什么?它也會影響全局變量嗎?我們在下面的代碼中對其進行測試:
# 該函數有一個名稱與 s 相同的變量。 def f(): s = "Me too." print(s) # 全局范圍 s = "I love python" f() print(s)
輸出:
Me too.
I love python
如果在函數范圍內也定義了具有相同名稱的變量,那么它將僅打印函數內部給出的值,而不是全局值。
問題是,如果我們嘗試更改函數內部的全局變量的值會怎樣。讓我們用下面的例子來看看。
例子:
# 該函數使用全局變量 s def f(): s += 'GFG' print("Inside Function", s) # Global scope s = "I love python" f()
輸出:
UnboundLocalError: local variable 's' referenced before assignment
為了使上述程序正常工作,我們需要使用“global”關鍵字。讓我們看看這個全局關鍵字是什么。
如果我們想要進行賦值或更改全局變量,我們只需要在函數中使用global 關鍵字。 打印和訪問不需要全局。由于在 f() 中對 s 的賦值,Python“假設”我們需要一個局部變量,因此第一條語句會拋出錯誤消息。如果沒有將其聲明為全局變量,則在函數內部更改或創建的任何變量都是局部變量。要告訴 Python,我們要使用全局變量,我們必須使用關鍵字 “global” ,如以下示例所示:
示例 1: 使用全局關鍵字
# 此函數修改全局變量's' def f(): global s s += ' HY' print(s) s = "Look for Haiyong Python Section" print(s) # 全局范圍 s = "Python is great!" f() print(s)
輸出:
Python is great! HY
Look for Haiyong Python Section
Look for Haiyong Python Section
現在沒有歧義了。
示例 2: 使用全局變量和局部變量
a = 1 # 使用全局,因為沒有局部“a” def f(): print('Inside f() : ', a) # 變量“a”被重新定義為局部變量 def g(): a = 2 print('Inside g() : ', a) # 使用 global 關鍵字修改全局 'a' def h(): global a a = 3 print('Inside h() : ', a) # 全局范圍 print('global : ', a) f() print('global : ', a) g() print('global : ', a) h() print('global : ', a)
輸出:
global : 1
Inside f() : 1
global : 1
Inside g() : 2
global : 1
Inside h() : 3
global : 3
以上就是關于“Python全局變量和局部變量怎么創建”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。