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