2. 函式的呼叫過程
3. lambda函式
4. 函式的引數傳遞
4.2 可變數量函式
5. 函式的位置與名稱的傳遞
5.例項
6. 函式的返回值
python中用def保留字定義乙個函式,語法如下:
def
(函式名)
《引數列表》:
《函式體》
return
《返回值列表》
函式名可以是任何有效的python識別符號,引數列表是呼叫該函式時傳遞給它的值,可以有零個、乙個或多個,當傳遞多個引數時各引數由逗號分隔,當沒有引數時也要保留圓括號。
函式定義中引數列表裡面的引數是形式引數,簡稱為「形參」。函式體是函式每次被呼叫時執行的**,由行或多行語句組成。當需要返回值時,使用保留字return和返回值列表,函式可以沒有return語句。
函式的呼叫基本語句如下:
《函式名》
(《引數列表》
)
此時,引數列表中要給出傳入函式內部的引數,這類引數為實際引數,簡稱「實參」
def
hard
(name)
:print
("{}努力學習,努力工作!"
.format
(name)
)hard(
"u-dream"
)hard(
"u-dream")-
----
----
----
----
----
----
----
----
----
----
----
----
#輸出結果
u-dream努力學習,努力工作!
u-dream努力學習,努力工作!
在這個例項中,name是形參,輸入的"u-dream"是實參,代替掉name,用於函式的執行。
程式呼叫乙個函式需要執行以下4個步驟。
(1)呼叫程式在呼叫處暫停執行。
(2)在呼叫時將實參複製給函式的形參
(3)執行函式體語句。
(4)函式呼叫結束給出返回值,程式回到呼叫前的暫停處繼續執行。
《函式名》
=lambda
《引數列表》
:《表示式》
簡單來說,lambda函式用於定義簡單的,能在一行內表示的函式。
lambda函式稱為「匿名函式」,但它並非沒有名字,而是將函式名作為函式結果返回。
>>
> d =
lambda a,b:a*b
>>
>
type
(d)<
class
'function'
>
>>
> d(10,
11)110
在定義函式時,如果有些引數存在預設值,即部分引數不定需要呼叫程式輸入,可以在定義函式時直接為這些引數指定預設值。當函式被呼叫時,如果沒有入對應的引數值,則使用函式定義時的預設值替代。
>>
>
defdream
(str
,times =3)
:print
(str
*times)
>>
> dream(
"come ture"
)come turecome turecome ture #沒有入對應的引數值,則使用函式定義時的預設值替代
>>
> dream(
"come ture",4
)come turecome turecome turecome ture
設定可變數量函式,通過在引數前增加(*)實現。帶有星號得可變引數只能出現在引數列表的最後。呼叫時,這些引數被當作元組型別傳遞到函式中。
>>
>
deffunc
(a,*b)
:for n in b:
#用n去遍歷b中的元素
a=a+n
return a
>>
> func(1,
3,4,
5)13#a被賦值1,與b組的每乙個元素相加,最後返回結果
函式呼叫時,實參預設採用按照位置順序的方式傳遞給函式。這種按照位置傳遞引數的方法固然很好,但當引數很多時,這種呼叫引數的方式可讀性較差。在規模稍大的程式中,函式定義可能在函式庫中,也可能與呼叫相距很遠。
為了解決上述問題,python提供了按照形參名稱輸入實參的方式,通過呼叫函式時指定引數名稱,使得引數之間的順序可以任意調整。
def
func
(x1,x2,x3,x4,x5,x6)
return
#它可以有這麼乙個實際呼叫
result =func(1,
2,3,
4,5,
6)#或者這樣的呼叫
result =func(x1=
1,y1=
4,x2=
2,x3=
3,y2=
5,y3=6)
#此時它的循序是打亂的
return語句用來退出函式並將程式返回到函式呼叫的位置繼續執行。return語句可以同時將0,1或多個函式運算後的結果返回給函式被呼叫處的變數。
函式沒有return時,,不返回值。當返回多個值時,以元組型別儲存。
>>
>
deffunc
(a,b)
:return a+b
>>
> s =func(
"dream"
," come ture"
)>>
>
print
(s)dream come ture
>>
>
deffunc
(a,b)
:return b,a
>>
> s = func(
"dream"
," come ture"
)>>
>
print
(s)(
' come ture'
,'dream'
)#此時以元組形式儲存
前4章傳送門:
4.python學習筆記——random庫的運用:python學習筆記——random庫的運用
3.python語言學習——迴圈結構:python語言學習——迴圈結構
2.python語言學習——分支結構:python語言學習——分支結構
1.python語言學習-format語句應用:python語言學習-format語句應用
歡迎朋友萌幫我斧正,一起交流交流~
Python學習筆記 十一 (函式的使用)
高內聚低耦合是評價乙個程式優劣的標準之一,而函式的靈活使用就能很好的提高每個功能之間的內聚耦合程度,下面我對python的函式使用進行簡單總計,希望能對你我有益。一 python中函式的定義 函式是指一段具有特定功能可以重用的 塊。python中的 表示 def function a return ...
Python學習筆記(十五)函式的基本使用
一 函式的概念及作用 定義函式 封裝 獨立的功能 呼叫函式 享受 封裝 的成果 二 函式的定義 定義函式的格式如下 def 函式名 函式封裝的 def 是英文 define 的縮寫 函式名稱應該能夠表達 函式封裝 的功能,方便後續的呼叫 函式名稱的命名應該 符合識別符號的命名規則 應該先定義函式,再...
Python學習筆記 函式
1.基本呼叫 python 中的函式使用關鍵字 def 來建立乙個函式,正如其他語言中的函式一樣,有函式名,引數,以及返回值。函式的引數不用指定型別,return 可以在任何地方出現,表示函式結束,如果沒有返回內容則預設返回值為none。乙個簡單的無引數,無返回值的hello world def h...