Python中的函數傳遞參數有兩種方式:傳遞值和傳遞引用。在傳遞值的情況下,函數得到的參數是原對象的一個復制,而在傳遞引用的情況下,函數得到的參數是原對象的一個引用。這就是所謂的性狀傳遞值。
def change(x):
x = 2
a = 1
change(a)
print(a) # 輸出 1
可以看到,函數change內部的x變量被賦值為2,但是a并沒有被改變,仍然是1。這是因為在函數change中對變量x賦值只能影響到變量x本身,對外部變量a沒有影響。
def change_list(x):
x.append(4)
a = [1, 2, 3]
change_list(a)
print(a) # 輸出 [1, 2, 3, 4]
此時,函數change_list的參數x是外部變量a的一個引用,對x的改變會影響到外部變量a。
總之,Python中的函數參數有時是傳遞值,有時是傳遞引用。如果參數是不可變的,比如數字、字符串、元組等,那么傳遞的是值;如果參數是可變的,比如列表、字典等,那么傳遞的是引用。
上一篇vue ant 公告