什麼是函式?
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是關鍵字,表示這是乙個函式 呼叫函式時給出函式並給函式傳遞相應的引數,對於命名關鍵字引數需要給出引數名,位置...