在Python中,變量傳遞有兩種方式:傳值和傳引用。
傳值是指將變量的值復制一份,然后將復制的值傳遞給函數或賦值給另一個變量。在函數內部修改傳遞的變量值不會影響原始變量的值。
示例代碼:
def modify_value(x):
x = x + 1
a = 10
modify_value(a)
print(a) # 輸出結果為10,原始變量a的值未被修改
傳引用是指將變量的引用(內存地址)傳遞給函數或賦值給另一個變量。在函數內部修改傳遞的變量值會影響原始變量的值。
示例代碼:
def modify_list(lst):
lst.append(4)
my_list = [1, 2, 3]
modify_list(my_list)
print(my_list) # 輸出結果為[1, 2, 3, 4],原始列表my_list被修改
需要注意的是,對于不可變類型的變量(如整數、字符串、元組等),傳引用的效果和傳值一樣,即在函數內部對變量的修改不會影響原始變量的值。而對于可變類型的變量(如列表、字典等),傳引用會影響原始變量的值。