初学__Python——Python 变量的作用域
生活随笔
收集整理的這篇文章主要介紹了
初学__Python——Python 变量的作用域
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在Python中,不同的函數可以具有相同的參數名。在函數中已經聲明過變量名,在函數外還可以繼續使用。在腳本運行的過程中,其值并不相互影響。
def fun1(x): # 聲明一個函數a = [1] # 定義一個名為 a 的列表a.append(x)print(a)fun1(2) # 調用函數,輸出函數中列表的值a = [2, 3, 4] # 在函數外定義一個名為 a 的列表值 print(a) # 輸出函數中名為 a 的列表值?? 注:函數調用結果和直接輸出結果的值是不一樣的。
上述代碼中,兩個同名的列表之所以值不同,是因為它們處于不同的作用域里。在Python中,作用于可以分為內置作用域、全局作用域和局部作用域。
-
內置作用域——是Python預先定義的
-
全局作用域——是所編寫的整個腳本
-
局部作用域——是在某個函數內部范圍
上述代碼中,函數中的列表 a 處于局部作用域中。而函數外的列表 a 處于全局作用域內。局部作用域內變量的改變并不影響全局作用域內的變量,除非通過引用的形式傳遞參數。
在函數中使用函數外的變量,可以在變量名前使用 global 關鍵字,如下:
def fun( x ): # 聲明函數global a # 使用 global 關鍵字聲明全局變量return a + xa = 5 # a 為全局變量,即 fun 函數中的 a print(fun(3)) # 輸出調用函數的值 a = 2 # 修改 a 的值 print(fun(3)) # 再次輸出調用函數的值兩次輸出結果:
總結
以上是生活随笔為你收集整理的初学__Python——Python 变量的作用域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初学__Python——Python 函
- 下一篇: 初学__Python——Python 最