Python為什么要引入這兩個關鍵字?如何使用Python關鍵字global與nonlocal?

Python支持的關鍵詞里,global和nonlocal初學者接觸的少,不知道是做什么用的,有些人雖然知道它們的作用,但對為什么要引入這兩個關鍵詞則有些不知其所以然 。其實global和nonlocal是為了在函數中修改全局和閉包變量而引入的關鍵字 。下面就來講一下它們兩者之間有什么區別 。

Python為什么要引入這兩個關鍵字?如何使用Python關鍵字global與nonlocal?


【Python為什么要引入這兩個關鍵字?如何使用Python關鍵字global與nonlocal?】一、Global
這個關鍵字的作用就是將一個局部變量的范圍修改為全局變量,這樣定義的變量就可以在程序的外部進行使用,變量也得到了訪問 。同時它也會有命名上的各種限制,所需要遵循的規則也和全局變量是一樣的 。舉個例子;
g =1 def fun():     global g     g = 2     return g print(fun(),g)運行結果為:
2,2在這個例子中,我們使用global關鍵字函數將變量的作用域進行了修改,修改為了一個全局變量 。引用global關鍵字目的就是當在函數中讀取全局變量時,可以直接使用 。但如果需要修改全局變量值,則需要在變量前加上 global 來修飾 。
二、nonlocal
這個關鍵字一般使用在嵌套函數中,如果需要對閉包中的變量進行修改操作時,就可以對這個關鍵字進行引用 。舉個例子:
def outer():     e = 1     def inner():         nonlocal e         e = 2         return e     return inner通過這篇文章我們知道了,這兩個函數所實現的功能不同,一個是用來修改全局變量的,另一個是用來修飾局部變量,兩個函數的使用范圍也不一樣,一個用于程序的任何地方,另一個只能在嵌套函數中使用 。
有關Python為什么要引入這兩個關鍵字?如何使用Python關鍵字global與nonlocal?的內容就講解到這里了,希望對大家的學習有所幫助 。

    猜你喜歡