# 先來看python函數定參數求和 def dup1(m ,n ,l): total = 0 total = m + n + l return total print(dup1(4 ,6 ,8)) #打印 10
#此時會發現參數不可變不是很好,沒有很好的的拓展性。如在增加參數則無能為力,需要重新修改代碼。
Python函數的參數形式包括必選參數、默認參數、可變參數、命名關鍵字參數以及關鍵字參數。
在函數定義時,設計可變數量參數,在參數前增加 * 號。注意:帶有 * 號的可變參數只能出現在參數列表的最后。
當調用時這些參數被當作元組類型傳遞到函數當中。
#函數補丁參數求和
def dup(a ,*lst): for item in lst: a += item return a print(dup(1 ,3 ,5))
#探討 lst 的類型
def dup(a ,*lst):
print(type(lst))
dup(1 ,3 ,5)
# 打印 <class 'tuple'>
#將上述功能再次完善,增加用戶輸入
#接受用戶輸入調用函數
def dup(*lst): a = 0 for item in lst: a += item return a x =input("please ").split() # split默認使用空格隔開 lst = [] for item in x: lst.append(int(item)) print(dup(*lst))
dup()函數定義了可變參數 lst 在調用時將輸入的輸入當作元組傳遞給函數中 lst 累加后輸出
在定義函數時,如果有些參數存在默認值,即部分參數不一定需要調用程序輸入,
可以在定義函數時直接為這些參數指定默認值,當函數被調用時,如果沒有傳入對應的參數值,
則使用函數定義時的默認值代替
def dd(str ,time = 2):
print(str * time)
print(dd("abcdef"))
# 打印 abcdefabcdef
def dd(str ,time = 2):
print(str * time)
print(dd("abcdef" ,1))
#打印 abcdef