Python學習中的關鍵點1.2
Python中有很多現成的方法,方法的呼叫也特別簡單
呼叫來源 -有python內建的、有第三方提供的、有自己定義的。內建的直接就寫上方法名,傳入引數(abs(-1)求絕對值的);第三方提供的,就先引用第三方包(import math)。然後包名點方法名,傳入引數(math.fsum([1,2,3,4])求和,用的是math模組,也可以交math包);自己定義的就自己寫def 方法名(引數):,後面寫具體實現。(def my_sum(a,b): return a+b);當然需要嚴謹點做一些異常判斷和型別判斷什麼的。
方法定義 -確定方法名和引數的個數,對引數的型別進行一些校驗,return返回結果就執行結束了。沒有return預設None;return多個就是tuple資料集了。
引數說明 -python中的引數還是有很多不太一樣的。
引數型別-位置引數、預設引數、可變引數、關鍵字引數、命名關鍵字引數、引數組合。
位置引數-不喜歡這種名字,就是和其他語言一樣的引數,就像我人有name和age一樣。def person(name,age):xxxx。唯一要注意的是,這個引數定義了幾個就一定要傳幾個引數進來。少了就報錯的
預設引數
預設引數 了,區別是有這個引數,你就可以選擇不傳這個引數啦。當然你要把age變成10這就
肯定要給新的了。
可變引數-這個引數和別的語言是有點不一樣的,這個引數數量是不固定的,需要在名字前面
加個星號(*name),這個name可以看做是list和tuple。你如果有list和tuple放到方法裡面用,
也可以用星號把資料集傳進去。可以不傳引數
關鍵字引數-和可變引數是一樣理解的,不過這個引數可以看做是python中的dict(鍵值對),
引數名前面加兩個星號(**name){key1:'xxx',key2:'ooo'}。可以不傳引數
命名關鍵字引數-上面那種方法,可以傳入各種名字的關鍵字,但是想限制就只有幾種關鍵字,
比如person下有name,age,我另外就只要city和height,我就這麼定義def person(name,age
,*,city,height)。限制關鍵字的名稱的用法就是在限制的引數開始前加個星號。後面呼叫的時候
就只能寫person('justin','18',city='SH',height='199cm');這種引數不傳就報錯。
引數組合-有定義順序的(必選引數->預設引數->可變引數->命名關鍵字引數->關鍵字引數)
特殊點的函式 - 遞迴函式(自己呼叫自己)
遞迴怕不結束啊,不停呼叫自己,和死迴圈一樣,會導致棧溢位。就像一個人一直沒有女朋友。
這些就是函式的內容了