一、全局變數
全局變數是在函數外部定義的變數,可以在整個程序的任何位置訪問。在函數內部,可以使用global關鍵字聲明全局變數,在函數內部修改全局變數的值。
global_variable = "This is a global variable." def access_global_variable(): print(global_variable) def modify_global_variable(): global global_variable global_variable = "Modified global variable." access_global_variable() # 輸出 "This is a global variable." modify_global_variable() access_global_variable() # 輸出 "Modified global variable."
二、局部變數
局部變數是在函數內部定義的變數,其只在函數內部可用,如果函數外部想要訪問,需要將其作為函數返回值返回。在函數內部想要修改局部變數的值,需要使用global關鍵字聲明。
def access_local_variable(): local_variable = "This is a local variable." print(local_variable) def modify_local_variable(): local_variable = "This is a local variable." print("Before modification: ", local_variable) local_variable = "Modified local variable." print("After modification: ", local_variable) access_local_variable() # 輸出 "This is a local variable." modify_local_variable() # 輸出 # Before modification: This is a local variable. # After modification: Modified local variable.
三、參數
函數的參數是在函數定義時指定的,可以在函數內部使用,如果沒有使用global聲明,其僅在函數內部可用。
def access_parameter(parameter): print(parameter) def modify_parameter(parameter): print("Before modification: ", parameter) parameter = "Modified parameter." print("After modification: ", parameter) access_parameter("This is a parameter.") # 輸出 "This is a parameter." modify_parameter("This is a parameter.") # 輸出 # Before modification: This is a parameter. # After modification: Modified parameter.
四、嵌套函數中的變數名稱
如果在一個函數內部再定義一個函數,那麼嵌套函數可以訪問其外部函數中定義的變數。在嵌套函數內部,如果修改外部函數的變數,需要使用nonlocal關鍵字聲明。
def outer_function(): outer_variable = "This is an outer variable." def inner_function(): print("Inner function: ", outer_variable) inner_function() outer_function() # 輸出 "Inner function: This is an outer variable." def modify_outer_variable(): outer_variable = "This is an outer variable." def inner_function(): nonlocal outer_variable outer_variable = "Modified outer variable." print("Inner function: ", outer_variable) inner_function() print("Outer function: ", outer_variable) modify_outer_variable() # 輸出 # Inner function: Modified outer variable. # Outer function: Modified outer variable.
五、總結
Python函數在其定義和調用期間可以訪問全局變數、局部變數、參數以及嵌套函數中的變數名稱。在訪問和修改變數的時候,需要注意使用global、nonlocal關鍵字進行聲明。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270780.html