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

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

Python學習筆記05_函數

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

調用函數

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})命名關鍵字參數是為了限制調用者可以傳入的參數名,同時可以提供默認值。定義命名的關鍵字參數在沒有可變參數的情況下不要忘了寫分隔符*,否則定義的將是位置參數。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富川| 当雄县| 鱼台县| 长武县| 榆林市| 突泉县| 泰安市| 余干县| 东安县| 星座| 吉木萨尔县| 香港| 惠东县| 中西区| 无极县| 湄潭县| 甘肃省| 南昌县| 无极县| 淮北市| 华亭县| 射阳县| 江油市| 东乌| 法库县| 乐安县| 安国市| 延吉市| 北票市| 玉门市| 淮阳县| 崇仁县| 故城县| 岳普湖县| 黄浦区| 宕昌县| 喀喇沁旗| 扬中市| 丰县| 平遥县| 论坛|