python var函數 python初學:Change函數的編寫請教?
python初學:Change函數的編寫請教?a.B=B,a可以直接交換。如果你傳入一個不可變的對象,比如整數或字符串,你就不能交換它class main:num=10def change unum(
python初學:Change函數的編寫請教?
a.B=B,a可以直接交換。如果你傳入一個不可變的對象,比如整數或字符串,你就不能交換它
class main:
num=10
def change unum(self):
global num#可以更改全局變量
num=100
Python中的所有數據都是對象,所以參數傳遞也是對傳遞對象的引用。此引用在函數執(zhí)行前后都不會更改,例如num=1def change(num):Print(ID(num))num=2print(ID(num))change(num)之后,num的值仍然是1。您可以看到num的ID值(可以理解為內存地址)在更改前是一個確定的值,但是更改后num的ID值發(fā)生了變化,即內部num指向另一個對象,而外部num仍然指向原始對象,所以該值沒有變化。類似地,例如,numlist=[1,2]def changelist(numlist):print(id(numlist))numu列表.append(3) print(id(num)您可以看到更改是在list之后執(zhí)行的num,list的id值沒有更改,即num list是向原始對象添加新數據,external num list也指向這個對象,所以external新數據也被添加到列表數據中。
python中,如何在函數內部改變全局變量?
當第一個函數返回時,將使用return。當第二個函數傳遞參數時,可以傳入返回值