1. 程式人生 > >Python學習中的關鍵點1.2

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。唯一要注意的是,這個引數定義了幾個就一定要傳幾個引數進來。少了就報錯的

                               預設引數

-這個簡單,定義引數的時候給個預設值person(name,age=7):xxx,這個age就變成

                               預設引數 了,區別是有這個引數,你就可以選擇不傳這個引數啦。當然你要把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');這種引數不傳就報錯。

                                引數組合-有定義順序的(必選引數->預設引數->可變引數->命名關鍵字引數->關鍵字引數)

特殊點的函式     - 遞迴函式(自己呼叫自己)

遞迴怕不結束啊,不停呼叫自己,和死迴圈一樣,會導致棧溢位。就像一個人一直沒有女朋友。

這些就是函式的內容了