python的def函数_Python 学习之 def 函数
共3118字, 閱讀本文需要8分鐘
def 函數(shù)基礎(chǔ)
def 函數(shù)的定義
在 python 中,def 函數(shù)是用來定義一個 function() 的。基本使用
示例下面我們定義了一個 function() 實(shí)現(xiàn)打印 a 的值。
當(dāng)我們運(yùn)行的時候,輸出框是不會輸出任何信息的,為什么?當(dāng)我們定義了一個 function(),并不意味著我們要調(diào)用它,所以我們需要運(yùn)行這個 function(),一個簡單的辦法就是在 input 框中輸入 function()。
自調(diào)用
如果想要在執(zhí)行腳本的時候執(zhí)行一些代碼,如單元測試,可以在腳本最后加上單元測試代碼。但是該腳本做為一個模塊對外提供功能的時候單元測試代碼也會執(zhí)行,這些往往都不是我們想要的,我們可以把這些代碼加入到腳本最后。
如果執(zhí)行該腳本的時候,該判斷語句將會是,那么內(nèi)部的代碼將會執(zhí)行。 如果外部調(diào)用該腳本,判斷語句則為,內(nèi)部代碼將不會執(zhí)行。利用自調(diào)用函數(shù)運(yùn)行如上的 function() 進(jìn)行測試。
函數(shù)參數(shù)
基本使用當(dāng)我們想要調(diào)用一個函數(shù)并往函數(shù)中傳遞變量,那么這些變量就是函數(shù)的參數(shù)。
的位置就是函數(shù)的參數(shù),在調(diào)用的時候傳入即可。示例
在這里定義的一個函數(shù) func,其參數(shù)就是兩個數(shù)值 a,b,函數(shù)的功能就是把兩個參數(shù)加起來。運(yùn)行腳本后,在 main 函數(shù)中調(diào)用函數(shù), 如果不指定參數(shù), 那么將會出錯。運(yùn)行結(jié)果
函數(shù)的默認(rèn)參數(shù)
基本使用我們在定義函數(shù)時有時候有些參數(shù)在大部分情況下是相同的,只不過為了提高函數(shù)的適用性,提供了一些備選的參數(shù), 為了方便函數(shù)調(diào)用,我們可以將這些參數(shù)設(shè)置為默認(rèn)參數(shù),那么該參數(shù)在函數(shù)調(diào)用過程中可以不需要明確給出。
函數(shù)聲明只需要在需要默認(rèn)參數(shù)的地方用號給定即可, 但是要注意所有的默認(rèn)參數(shù)都不能出現(xiàn)在非默認(rèn)參數(shù)的前面。示例在這里定義了一個函數(shù),參數(shù)為 Mac 的屬性,但除了之外,像,和都是有默認(rèn)值的。
運(yùn)行結(jié)果
如果我們調(diào)用函數(shù), 那么與是一樣的效果。當(dāng)然也可以在函數(shù)調(diào)用過程中傳入特定的參數(shù)用來修改默認(rèn)參數(shù)。通過默認(rèn)參數(shù)可以減輕我們函數(shù)調(diào)用的復(fù)雜度。
運(yùn)行結(jié)果
def 函數(shù)進(jìn)階
可變參數(shù)
顧名思義,函數(shù)的可變參數(shù)表示傳入的參數(shù)可以變化的,1 個到任意個。當(dāng)然可以將這些參數(shù)封裝成一個或者傳入,但不夠。使用可變參數(shù)可以很好解決該問題,注意可變參數(shù)在函數(shù)定義不能出現(xiàn)在特定參數(shù)和默認(rèn)參數(shù)前面,因?yàn)榭勺儏?shù)會吞噬掉這些參數(shù)。示例
定義一個函數(shù),傳入固定參數(shù) name,可變參數(shù) *grades,表明該參數(shù)是一個可變參數(shù),這是一個可迭代的對象。運(yùn)行結(jié)果
關(guān)鍵字參數(shù)
關(guān)鍵字參數(shù)可以傳入 0 個或者任意個含參數(shù)名的參數(shù),這些參數(shù)名在函數(shù)定義中并沒有出現(xiàn),這些參數(shù)在函數(shù)內(nèi)部自動封裝成一個字典 (dict)。示例定義了一個函數(shù),傳入一個參數(shù), 和關(guān)鍵字參數(shù),使用了修飾。表明該參數(shù)是關(guān)鍵字參數(shù),通常來講關(guān)鍵字參數(shù)是放在函數(shù)參數(shù)列表的最后。
運(yùn)行結(jié)果
通過可變參數(shù)和關(guān)鍵字參數(shù),任何函數(shù)都可以用表達(dá)。參數(shù)組合在 Python 中定義函數(shù),可以用必選參數(shù)、默認(rèn)參數(shù)、可變參數(shù)和關(guān)鍵字參數(shù),這 4 種參數(shù)都可以一起使用,或者只用其中某些,但是參數(shù)定義的順序必須是必選參數(shù) > 默認(rèn)參數(shù) > 可變參數(shù) > 關(guān)鍵字參數(shù)。示例
運(yùn)行結(jié)果
你還可以通過 tuple 和 dict 調(diào)用該函數(shù)
運(yùn)行結(jié)果
總結(jié)
Python的函數(shù)具有非常靈活的參數(shù)形態(tài),既可以實(shí)現(xiàn)簡單的調(diào)用,又可以傳入非常復(fù)雜的參數(shù)。默認(rèn)參數(shù)一定要用不可變對象,如果是可變對象,運(yùn)行會有邏輯錯誤!要注意定義可變參數(shù)和關(guān)鍵字參數(shù)的語法:是可變參數(shù),args 接收的是一個 tuple;
是關(guān)鍵字參數(shù),kw 接收的是一個 dict。
覺得對你有幫助就關(guān)注我吧!
總結(jié)
以上是生活随笔為你收集整理的python的def函数_Python 学习之 def 函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python树状节点 可拖拽_Pytho
- 下一篇: python安装notebook_安装p