一:函數的缺省參數(在實際調用中,實參的個數可以少於形參個數)
1、語法:
def 函數名(形參名1=默認實參1,形參名2=默認實參2……)
示例:
def info(name, age=1.address=’未填寫’):
print(name,’今年’, age, ‘歲, 家庭地址是:’ address)
info(‘tarena’, 15, ‘北京市朝陽區’)
info(‘小李’, 20)
說明:
缺省參數必須自右至左依次存在,如果一個參數有缺省參數,則基右側的所有參數必須有缺省參數。
缺省參數可以有0個或多個,甚至全部都有缺省參數。
練習:
寫一個函數 mysum(),可以傳入兩個實參或三個實參,如果傳入兩個實參,則返回兩個實參和,如果傳入三個實參,則返回前兩個實參的和對第三個實參求餘的結果。
二:函數的形參定義方式
1、位置形參
語法:
def 函數名(形參1,形參2,……)
語句塊
2、星號元組形參:
語法:
def 函數名(*元組形參名):
語句塊
作用:
收集多餘的位置傳參
說明:
元組形參名通常用:’args’
練習:
在系統中隨意輸入一個數字,求出該數字的和,並打印輸出。
3、 命名關鍵字形參
語法:
def 函數名(*, 命名關鍵字形參):
語句
或
def 函數名(*args, 命名關鍵字形參):
語句
作用:
所有的參數都必須用關鍵字傳參或字典關鍵字傳參傳遞
示例:
4、 雙星號字典形參:
語法:
def 函數名(**字典形參名):
語句
作用:
收集多餘的關鍵字傳參
說明:
通常字典形參名定爲’’kwargs’’
綜合:
函數參數自左至右的順序爲:位置形參,星號元組形參,命名關鍵字形參和雙星號字典形參,函數參數可以混合使用。
三:函數的不定長參數:
1、語法:
def fn(*args, **kwargs)
pass
說明:
可以接收任意的位置傳參和關鍵字傳參(想怎麼傳就怎麼傳)
練習:
寫一個myrange函數,此函數返回一個符合range規則的整數列表。
如:
L = myrange(3)
Print(L)
L = myrange(3, 6)
Print(L)
說明:首先把終止值設置爲None,步長爲1,判斷是否沒有輸入終止值,如果沒有輸入,終止值就等於開始值,初始化開始值爲0,定個一個空的列表,然後綁定一個開始值,當開始值小於終止值時,把i添加到列表中,然後輸出下一個i的值(i +=i + step),最後把數據傳到列表裏,代碼如下圖:
總結:
形參的定義方式一共有4種,可混合搭配使用。大家下去以後一定要多動動筆。推薦我們的Python學習扣qun:784758214 ,看看前輩們是如何學習的!從基礎的python腳本到web開發、爬蟲、django、數據挖掘等【PDF,實戰源碼】,零基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!每天都有大牛定時講解Python技術,分享一些學習的方法和需要注意的小細節,點擊加入我們的 python學習者聚集地