自學(xué)Python教程【第六十六節(jié)】函數(shù)的參數(shù)傳遞(2)
同學(xué)們!歡迎大家來到自學(xué)Python教程教室,上一講我們分享了Python函數(shù)的參數(shù)傳遞的相關(guān)內(nèi)容,這節(jié)課我們接著上一次的內(nèi)容,來介紹一種更加靈活的參數(shù)傳遞方式:def func(*args).
這種方式的厲害之處在于,它可以接受任意數(shù)量的參數(shù)。來看具體例子:
def calcSum(*args):
sum = 0
for i in args:
sum += i
print sum
調(diào)用:
calcSum(1,2,3)
calcSum(123,456)
calcSum()
輸出:
6
579
0
在變量前加上星號前綴(*),調(diào)用時的參數(shù)會存儲在一個 tuple(元組)對象中,賦值給形參。在函數(shù)內(nèi)部,需要對參數(shù)進行處理時,只要對這個 tuple 類型的形參(這里是 args)進行操作就可以了。因此,函數(shù)在定義時并不需要指明參數(shù)個數(shù),就可以處理任意參數(shù)個數(shù)的情況。
不過有一點需要注意,tuple 是有序的,所以 args 中元素的順序受到賦值時的影響。如:
def printAll(*args):
for i in args:
print i,
調(diào)用:
printAll(1,2,3)
printAll(3,2,1)
輸出:
1 2 3
3 2 1
雖然3個參數(shù)在總體上是相同的,但由于調(diào)用的順序不一樣,結(jié)果也是不同的。
還有一種參數(shù)傳遞方式,既可以按參數(shù)名傳遞參數(shù),不受位置的限制,又可以像 tuple 傳遞一樣不受數(shù)量限制。這個我將在下次課中做介紹。
恭喜您在Python自學(xué)的道路上又堅持了一天,今天我們開始了Python中函數(shù)的參數(shù)傳遞(2),下節(jié)課我們將分享更多Python中函數(shù)的參數(shù)傳遞的相關(guān)內(nèi)容,敬請關(guān)注 !
好啦,今天的分享到這里就結(jié)束了,希望大家能夠持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會有大量優(yōu)質(zhì)內(nèi)容與大家分享!
聲明:文章來源于網(wǎng)絡(luò),侵刪!