*k表示可變參數,通過可變參數實現類似于重載的方法。
城中網站制作公司哪家好,找成都創新互聯!從網頁設計、網站建設、微信開發、APP開發、自適應網站建設等網站項目制作,到程序開發,運營維護。成都創新互聯成立于2013年到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創新互聯。
通常我們要定義一個函數的時候,必須要預先定義這個函數需要多少個參數(或者說可以接受多少個參數)。一般情況下這是沒問題的,但是也有在定義函數的時候,不能知道參數個數的情況(想一想C語言里的printf函數),在Python里,帶*的參數就是用來接受可變數量參數的。看一個例子
def funcD(a, b, *c):
print a
print b
print "length of c is: %d " % len(c)
print c
調用funcD(1, 2, 3, 4, 5, 6)結果是
1
2
length of c is: 4
(3, 4, 5, 6)
我們看到,前面兩個參數被a、b接受了,剩下的4個參數,全部被c接受了,c在這里是一個tuple。我們在調用funcD的時候,至少要傳遞2個參數,2個以上的參數,都放到c里了,如果只有兩個參數,那么c就是一個empty tuple。
簡單來說,Python中為什么不需要重載,重載要解決的是參數類型和參數個數的問題,對于類型,python不像是c語言整型要寫int,字符串要寫str,,,這些python都不需要。
那么需要解決的就是傳遞參數個數問題,此時python可以傳遞列表呀,字典呀,可以使用*arg和**args呀,所以python根本不需要重載。
這個基本是沒有一點關聯。。。只是名字容易混淆而已 重寫就是對父類的方法重寫,改變方法體中的語句。。。。 重載就是同一個函數名,參數個數、類型、排列順序不同,jvm根據參數來決定調用哪一個方法
當前文章:python函數能重載嗎 python中的值可以重復嗎
瀏覽地址:http://m.newbst.com/article42/doippec.html
成都網站建設公司_創新互聯,為您提供Google、品牌網站制作、App設計、虛擬主機、搜索引擎優化、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯