定義過函數(shù)后,就可以在后面程序中使用這一函數(shù)
printsquare_sum(3,4)
python通過位置,知道3對應(yīng)的是函數(shù)定義中的第一個參數(shù)a,4對應(yīng)第二個參數(shù)b,然后把參數(shù)傳遞給函數(shù)square_sum。
(Python有豐富的參數(shù)傳遞方式,還有關(guān)鍵字傳遞、表傳遞、字典傳遞等,基礎(chǔ)教程將只涉及位置傳遞)
函數(shù)經(jīng)過運(yùn)算,返回值25,這個25被print打印出來。
我們再看下面兩個例子
a=1
defchange_integer(a):
a=a+1
returna
printchange_integer(a)
printa
#===(Python中"#"后面跟的內(nèi)容是注釋,不執(zhí)行)
b=[1,2,3]
defchange_list(b):
b[0]=b[0]+1
returnb
printchange_list(b)
printb
第一個例子,我們將一個整數(shù)變量傳遞給函數(shù),函數(shù)對它進(jìn)行操作,但原整數(shù)變量a不發(fā)生變化。
第二個例子,我們將一個表傳遞給函數(shù),函數(shù)進(jìn)行操作,原來的表b發(fā)生變化。
對于基本數(shù)據(jù)類型的變量,變量傳遞給函數(shù)后,函數(shù)會在內(nèi)存中復(fù)制一個新的變量,從而不影響原來的變量。(我們稱此為值傳遞)
但是對于表來說,表傳遞給函數(shù)的是一個指針,指針指向序列在內(nèi)存中的位置,在函數(shù)中對表的操作將在原有內(nèi)存中進(jìn)行,從而影響原有變量。(我們稱此為指針傳遞)
以上內(nèi)容為大家介紹了python函數(shù)調(diào)用和參數(shù)傳遞,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。