關于python函數的建立、調用、傳參、返回值詳解
自定義函數
Python 還支持自定義函數,即將一段有規(guī)律的、可重復使用的代碼定義成函數,從而達到一次編寫多 次調用的目的。 1.創(chuàng)建函數 創(chuàng)建函數也稱為定義函數,可以理解為創(chuàng)建一個具有某種用途的工具,使用 def 關鍵字實現,語法格式如下:
def functionname([parameterlist]): ['''comments'''] [functionbody]
參數說明:
- functionname:函數名稱,在調用函數時使用
- parameterlist:可選參數,用于指定向函數中傳遞的參數。如果有多個參數,各參數間使用英文逗號分隔;如不指定,則表示該函數沒有參數,在調用時,也不用指定參數。
- “commcnts"”:可選參數,表示為函數指定注釋,注釋的內容通常是說明該函數的功能、要傳遞的參數的作用等,可以為用戶提供友好提示和幫助的內容。
- functionbody: 可選參數,用于指定函數體,即該函數被調用后,要執(zhí)行的功能代碼。如果函數有返回值,可以使用 rcturn 語句返回。如果函數只有函數體,可以使用 pass 語句作為占位符
調用函數
調用函數也就是執(zhí)行函數。如果把創(chuàng)建的函數理解為創(chuàng)建一個具有某種用途的工具,那么調用函數就相當于使用該工具。調用函數的語法格式如下:
functionname([parametersvalue])
參數說明: functionname:要調用的函數名稱,必須是已經創(chuàng)建好的。 parametersvaluc: 可選參數,用于指定各個參數的值。如果需要傳遞多個參數值,則各參數值間使用逗號分隔:如果該函數沒有參數,則不用輸入。
函數參數的傳遞
在調用函數時,大多數情況下,主調函數和被調用函數之間有數據傳遞關系,這就是有參數的函數形式。函數參數的作用是傳遞數據給函數使用,函數利用接收的數據進行具體的操作處理。函數參數在定義函數時放在函數名稱后面的一對小括號中。
def functionname(a,b,c,d):
形參與實參
在使用函數時,經常會用到形式參數(形參)和實際參數(實參),兩者都叫作參數 形式參數和實際參數在作用上的區(qū)別如下:
形式參數:在定義函數時,函數名后面括號中的參數為“形式參數”,也稱形參
實際參數:在調用一個函數時,函數名后面括號中的參數為“實際參數”。也就是將函數的調用者提供給函數的參敏稱為實際參敏,也稱實參。
根據實參的類型不同,可以分為將實參的值傳遞給形參,和將實參的引用傳遞給形參兩種情況。其中,當實參為不可變對象時,進行的是值傳遞;當實參為可變對象時,進行的是引用傳遞。
實際上,值傳遞和引用傳遞的基本區(qū)別就是,進行值傳遞后,改變形參的值,實參的值不變:而進行引用傳遞后,改變形參的值,實參的值也一同改變。
位置參數
位置參數也稱必備參數,必須按照正確的順序傳到函數中。即調用時的數量和位置必須和定義時的一樣。
在調用函數時,指定的實參數量必須與形參數量一致,否則將拋出 TypeError 異常,提示缺少必要的位置參數。
在調用函數時,指定的實參位置必須與形參位置一致,否則將產生以下兩種結果:
(1) 拋出異常。如果指定的實參與形參的位置不一致,數據類型也不一致,那么就拋出異常。
(2)不拋出異常,但是得到的結果與預期不-致。如果指定的實參與形參的位置不一致,數據類型一致,那么就不會拋出異常,但是得到的結果與預期不一致
函數返回值
可以在函數體內使用 retum 語句為函數指定返回值。該返回值可以是任意類型,并且無論 return 語句出現在函數的什么位置,只要執(zhí)行,就會直接結束函數的執(zhí)行。retumn 語句的語法格式如下:
result = return [value]
result:用于保存返回結果,如果返回一個值,那么result 中保存的就是返回的一個值,該值可以是任意類型。
如果返回多個值,那么result 中保存的是一個元組。
value:可選參數,用于指定要返回的值,可以返回一個值,也可以返回多個值。
局部變量
局部變量是指在函數內部定義并使用的變量,它只在函數內部有效。 即函數內部的名字只在函數運行時才會創(chuàng)建,在函數運行之前或之后,所有的名字都不存在。
局部變量只能在函數內部有效,在函數外部無效。如果在函數內部和外部都定義了一個同名的變量,那么它們代表了不同的變量值。 如果在函數外部沒有定義變量,直接使用函數內部定義的變量,就會拋出 NameEr-ror 異常。
全局變量
在程序開發(fā)中,有時需要在函數外設定變量的初始值,然后在函數內訪問、修改,這就需要定義全局變量。 我們把函數內外都可以訪問的變量,叫作全局變量。
全局變量主要有以下兩種情況:
(1)如果一個變量,在函數外定義,那么不僅在函數外可以訪問到,在函數內也可以訪問到。
(2)在函數體內使用 global 關鍵字定義變量為全局變量,在函數體外也可以訪問該變量,并且在函數體內可以對其進行修改。
#定義為全局變量 global count
到此這篇關于關于python函數的建立、調用、傳參、返回值詳解的文章就介紹到這了,更多相關python函數使用詳解內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Django User 模塊之 AbstractUser 擴展詳解
這篇文章主要介紹了Django User 模塊之 AbstractUser 擴展詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Keras 切換后端方式(Theano和TensorFlow)
這篇文章主要介紹了Keras 切換后端方式(Theano和TensorFlow),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06