欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python函數的參數傳遞是傳值還是傳引用

阮建安2年前14瀏覽0評論

python函數的參數傳遞是傳值還是傳引用?

python中所有數據都是對象,所以傳參也是傳的對象的引用,這個引用在函數執行前和執行后是不會被改變的,如:num = 1def change(num):print(id(num)

)num = 2print(id(num))執行change(num)后num的值還是1可以看到在執行前num的id值(可以理解為內存地址)是某一值但在執行change后,num的id值改變了,也就是說內部的num指向了另外的對象,而外部的num卻還是指向原來的對象,所以值沒有變;

同理,如:num_list = [1,2]def change_list(num_list):print(id(num_list)

)num_list.append(3)print(id(num_list))可以看到執行change_list后num_list的id值沒有改變,也就是說num_list是在原來的對象上添加了新的數據,外部的num_list也是指向這一對象,所以外部的num_list數據也添加了新的數據。