国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Python學習筆記05_函數

2019-11-14 12:54:52
字體:
來源:轉載
供稿:網友

調用函數

abs(), max(), int(), float(), str(), bool()

定義函數

使用def語句,依次寫出函數名、括號、括號中的參數和冒號:,然后在縮進塊編寫函數體。函數體內部語句執行到return時,執行完畢并將結果返回,如果沒有return語句,也會返回結果None,return None可以簡寫為return。空函數,可以用來作為占位符,比如現在還沒想好怎么寫函數的代碼,先放一個pass。 if exp: pass 數據類型檢查函數,isinstance()函數返回多個值,其實是返回一個tuple,在語法上,返回一個tuple可以省略括號,而多個變量可以同時接收一個tuple,按位置賦給對應的值。

函數的參數

位置參數,如power(x,n),這兩個參數都是位置參數,調用函數時,傳入的兩個值按照位置順序依次賦給參數x和n。

默認參數,調用power(5)時,相當于調用power(5,2)。設置默認參數時,必選參數在前,默認參數在后。當函數有多個參數時,把變化大的參數放前面,變化小的參數放后面,變化小的參數就可以作為默認參數。默認參數必須指向不變對象

def power(x,n=2): passdef add_end(L=[]): L.append('END') return L # 每次調用該函數,如果改變了L的內容,下次調用時,默認參數的內容變了,不再是函數定義時的[]。def add_end(L=None): if L is None: L = [] L.append('END') return L # 修改為用None這個不變對象

可變參數,允許傳入0個或任意個參數,在函數調用時自動組裝為一個tuple。

def calc(numbers): sum = 0 for n in numbers: sum = sum + n * n return sum # 定義list或tuple參數,把參數a,b,c……作為一個list或tuple傳進來def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum # 定義可變參數,在參數前面加一個*號,在函數內部,參數numbers接收到一個tuple # 如果已經有一個list或tuple,如nums=[1,2],可以用calc(*nums) # *nums表示把nums這個list的所有元素作為可變參數傳進去

關鍵字參數,在參數前面加**,允許傳入0個或任意個含參數名的參數,在函數內部自動組裝為一個dict。

<<< def person(name,age,**kw): 命名關鍵字參數,命名關鍵字參數調用必須傳入參數名,這和位置參數不同。命名關鍵字參數可以有缺省值。

def person(name,age,*,city,job): print(name,age,city,job) # 命名關鍵字參數需要一個特殊分隔符*,*后面的參數被視為命名關鍵字參數。def person(name,age,*args,city,job): print(name,age,args,city,job) # 如果函數定義中已經有了一個可變參數,后面跟著的命名關鍵字參數不需要*了。

參數組合

參數定義的順序必須是:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數。

小結

默認參數一定要用不可變對象,如果是可變對象,程序運行時會有邏輯錯誤。*args是可變參數,args接收的是一個tuple。**kw是關鍵字參數,kw接收的是一個dict。可變參數既可以直接傳入:func(1,2,3),又可以先組裝list或tuple,再通過*args傳入:func(*(1,2,3))。關鍵字參數既可以直接傳入func(a=1,b=2),又可以先組裝dict,再通過**kw傳入:func(**{'a':1,'b':2})命名關鍵字參數是為了限制調用者可以傳入的參數名,同時可以提供默認值。定義命名的關鍵字參數在沒有可變參數的情況下不要忘了寫分隔符*,否則定義的將是位置參數。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莱州市| 班戈县| 鹤峰县| 定远县| 利津县| 吉林省| 通江县| 周口市| 镇安县| 大厂| 晋城| 弋阳县| 炎陵县| 竹山县| 宣化县| 榆树市| 陕西省| 瑞昌市| 荆门市| 林州市| 虎林市| 白河县| 北京市| 潜江市| 嵊州市| 陇川县| 鹤壁市| 南木林县| 石狮市| 日喀则市| 乌什县| 浦城县| 怀仁县| 资兴市| 甘孜县| 修武县| 镇安县| 浮梁县| 醴陵市| 班玛县| 宣武区|