python基礎之函式 4

2021-09-24 18:05:09 字數 1657 閱讀 8388

什麼是函式?

function 英文 -> 函式,功能

函式就是乙個具有特定功能的語法結構。

作用:提高**的復用率,提高開發效率,減少後期的維護成本

【基本結構】:

def 函式名():

實現函式功能的**

實現函式功能的**

實現函式功能的**

...

特徵:

1.函式不呼叫不會執行

2.函式可以呼叫n次不受次數限制

函式名的定義:

1.推薦使用英文,可以使用拼音,不可以使用漢字

2.可以使用數字,但是不能以數字開頭

3.不可以使用特殊字元,除了下劃線_

4.函式名嚴格區分大小寫

5.函式命名要有意義

6.函式名不能和系統保留關鍵字衝突

7.函式名盡量不要和系統已存在的內建函式同名,以免覆蓋內建函式

(1)函式引數概念及分類

函式引數:呼叫時需要傳遞的資料.

函式引數大類分為形參和實參:

形參意思: 函式定義時的引數

實參意思: 函式呼叫時的引數

形實關係:函式呼叫時,形參和實參個數需要一一對應

形參種類: 普通引數,預設引數,普通收集引數,命名關鍵字引數,關鍵字收集引數

實參種類: 普通實參,關鍵字實參

(2)普通引數(位置引數)普通的引數,接收實參傳遞的值

(3)預設引數:位於普通引數後面,具有預設值的引數

語法:(x,y=2) y就是預設引數

(4)收集引數:

普通收集引數:用於專門收集多餘普通引數的是普通收集引數,形成乙個新的元組

語法:引數前面加* 例:*args

關鍵字收集引數:用於專門收集多餘關鍵字實參的是關鍵字收集引數,形成乙個新的字典

語法:引數前面加** 例:**kwargs

(5)命名關鍵字引數:定義時放在*號後面的引數,呼叫時強制必須傳入指定引數名才能呼叫

語法:(a,*,x) x是命名關鍵字引數

如果函式引數中已經有了收集引數,那麼收集引數後面的引數即為命名關鍵字引數

語法:(*args,x,y)

(6)形參宣告的位置順序:

普通引數 -> 預設引數 -> 收集引數 -> 命名關鍵字引數 -> 關鍵字收集引數

def func(a,b,c=1,*args,d,**kw)

a,b為普通引數,c是預設引數,args是收集引數,d是命名關鍵字引數,kw是關鍵字收集引數

極少出現五種引數同時出現的情況

def func(a,b=2,*,c,d,**kw)

a為普通引數,b是預設引數,c,d是命名關鍵字引數 ,kw是關鍵字收集引數

(7)#注意:實參將值傳遞給形參的過程,本質上就是變數賦值操作

所有引數的擺放問題

1.實參:普通實參在前,關鍵字引數在後

2.形參:

關鍵字收集引數一定在最後出現

收集引數推薦在普通引數之後使用

推薦順序:普通形參,收集引數,關鍵字收集引數

1.使用help函式檢視

help(函式名)

2.函式名.__doc__

print(id.__doc__)

python基礎 操作函式4

一 函式的巢狀呼叫 在呼叫乙個函式的時候,其內部的 又呼叫其它的函式 二 函式的巢狀定義 在乙個函式的內部又定義了另乙個函式 三 命名空間與作用域 什麼是命名空間 是記憶體開闢存放 變數名和值的位址繫結關係 的地方。key value 形式。x 1 幹了什麼事情?1.向記憶體申請一塊空間,將值1放進...

python之函式基礎

python 函式 python函式可以返回多值 defadd dif x,y,sum x y dif x y return sum,dif a,b add dif 2,3 print a,b 5 1 r add dif 2,3 print r 5,1 本質來說返回多值的函式其實返回乙個元組tupl...

Python基礎之函式

不同型別的引數的優先順序 在引數列表中的順序 def testfunc1 pass這是乙個最簡單的函式,沒有引數,沒有返回,pass表示該函式沒有做任何操作,testfunc1是函式名,def是關鍵字,表示這是乙個函式 呼叫函式時給出函式並給函式傳遞相應的引數,對於命名關鍵字引數需要給出引數名,位置...