Python學習中的關鍵點1 2 函式

2021-08-15 14:44:20 字數 1390 閱讀 6435

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

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

預設引數 了,區別是有這個引數,你就可以選擇不傳這個引數啦。當然你要把age變成10這就

肯定要給新的了。

可變引數-這個引數和別的語言是有點不一樣的,這個引數數量是不固定的,需要在名字前面

加個星號(*name),這個name可以看做是list和tuple。你如果有list和tuple放到方法裡面用,

也可以用星號把資料集傳進去。可以不傳引數

關鍵字引數-和可變引數是一樣理解的,不過這個引數可以看做是python中的dict(鍵值對),

引數名前面加兩個星號(**name)。可以不傳引數

命名關鍵字引數-上面那種方法,可以傳入各種名字的關鍵字,但是想限制就只有幾種關鍵字,

比如person下有name,age,我另外就只要city和height,我就這麼定義def person(name,age

,*,city,height)。限制關鍵字的名稱的用法就是在限制的引數開始前加個星號。後面呼叫的時候

就只能寫person('justin','18',city='sh',height='199cm');這種引數不傳就報錯。

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

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

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

這些就是函式的內容了

12 Python函式學習(中)

作用域 區域性和全域性變數 前向引用 deftest name,age 18,args,kwargs print name print age,args,kwargs school test 程式執行從上到下的,這裡的school還沒定義,所以執行報錯。test alex age 20,flag f...

Python學習筆記12

分支和迴圈 1.判斷乙個條件,如果這個條件成立,就執行其包含的某條語句或者某個 塊 if condition statement s 2.判斷乙個條件,如果這個條件成立就執行其飽含的某條語句或者某個 塊,如果不成立則執行另外的某條語句或者某個 塊 if condition statement s e...

python學習記錄 12

0.注意,這道題跟上節課的那道題有點兒不同,回答完請上機實驗或參 old 1,2,3,4,5 new old old 6 print new 複製 如果不上機操作,你覺得會列印什麼內容?old 1,2,3,4,5 new old old 6 print new 1,2,3,4,5 1.請問如何將下邊...