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