在編程中,無論使用什么 編程語言,函數的使用都是非常廣泛的,函數能夠完成特定的功能,降低編程的難度和代碼重用。
1.函數的定義:
函數是一段具有特定功能的、可重用的語句組,用函數名來表示並通過函數名進行調用。
2.函數編寫思想:
函數是一種功能抽象,利用它可以將一個復雜的大問題分解成一系列簡單的小問題,然后將小問題繼續划分為更小的問題,當問題細化到足夠簡單時,為每個小問題編寫程序,並通過函數封裝,每個小問題解決了,大問題就能迎刃而解。
3.Python函數
Python安裝包也自帶了一些函數和方法,包括Python內置函數(如abs()、eval())、Python標准庫中的函數(如math庫中的sqrt())等,這些函數在編程過程中都是可以直接調用。但在日常的編碼過程中,我們也需要根據實際情況,編寫自定義的函數。
4.Python自定義函數
Python使用def保留字定義函數,語法形式如下:
def <函數名>(參數列表):
<函數體>
return<返回值列表>
注:參數列表是調用函數時傳遞給他的值,可以有零個,一個或多個,當傳遞多個參數時,各參數間用逗號隔開,當沒有參數時也要保留圓括號。
當需要返回值時,使用保留字return和返回值列表,否則可以沒有return語句。
5.函數的形式參數
5.1編寫程序,比較兩個整數,三個整數的大小,輸出最大值。其中代碼解析有關於函數的形參和實參的解釋。<在比較大小時,直接使用內置函數max()可以更快的實現>
源代碼:
#三個參數比較大小,num,num1,num2為形式參數
def number(num,num1,num2):
if(num<num1):
max=num1
if(max<num2):
max=num2
print("三數比較最大數是{}".format(max))
else:
print("三數比較最大數是{}".format(max))
else:
max=num
if(max<num2):
max=num2
print("三數比較最大數是{}".format(max))
else:
print("三數比較最大數是{}".format(max))
#1,2,3為函數的實參,實參將值傳給形參,執行函數體語句
number(1,2,3)
#兩個參數比較大小,num,num1為形式參數
def number(num,num1):
if(num<num1):
max=num1
print("兩數比較最大數是{}".format(max))
else:
max=num
print("兩數比較最大數是{}".format(max))
#1,2為函數的實參,實參將值傳給形參,執行函數體語句
number(1,2)
運行結果:
6.函數的調用過程
函數的調用過程一般為四步:
(1)調用程序在調用處暫停執行。
(2)在調用時將實參復制給函數的形參。
(3)執行函數體語句。
(4)函數調用結束給出返回值。程序回調到調用前的暫停處繼續執行。
如下面的例子:
源代碼:
def number(num,num1):
if(num<num1):
max=num1
print("兩數比較最大數是{}".format(max))
else:
max=num
print("兩數比較最大數是{}".format(max))
print("還沒有調用函數!")
#函數調用,在此之前函數體已經編譯完成,但是沒用運用,在函數調用后,形參的值被
#實參所代替再返回前面執行函數體的語句,函數體語句執行完畢后,再回到函數調用
#的位置,繼續執行后面的語句
number(1,2)
print("執行這一行!")
運行結果: