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