無論函數傳遞的參數的可變還是不可變,只要針對參數使用賦值語句,會在函數內部修改局部變數的引用,不會影響到外部變數的引用,而如果傳遞的參數是可變類型,在函數內部使用方法修改了數據的內容,同樣會影響到外部的數據。 運行結果: 運行結果: 無論函數傳遞的參數的可變還是不可變,只要針對參數使用賦值語句,會在 ...
無論函數傳遞的參數的可變還是不可變,只要針對參數使用賦值語句,會在函數內部修改局部變數的引用,不會影響到外部變數的引用,而如果傳遞的參數是可變類型,在函數內部使用方法修改了數據的內容,同樣會影響到外部的數據。
def demo(num, num_list):
print("函數內部")
num = 99
num_list = [33, 66, 99]
print(num, num_list)
gl_num = 9
gl_list = [3, 6, 9]
demo(gl_num, gl_list)
print(gl_num, gl_list)
運行結果:
def mutable(num_list):
num_list.append(100)
print(num_list)
gl_list = [1, 2, 3]
mutable(gl_list)
print(gl_list)
運行結果:
無論函數傳遞的參數的可變還是不可變,只要針對參數使用賦值語句,會在函數內部修改局部變數的引用,不會影響到外部變數的引用,而如果傳遞的參數是可變類型,在函數內部使用方法修改了數據的內容,同樣會影響到外部的數據。
轉自:https://www.cnblogs.com/Jery-9527/p/10658172.html