函式是程式中非常重要的抽象化工具,把程式碼包裝起來形成一體、形成獨立的概念,便於後續使用。它可供程式中的其他程式呼叫,該段獨立程式需要一個名稱以供呼叫,也可以接受呼叫者傳遞的參數,使處裡更靈活。函數執行後可以有傳回值返還呼叫者,這些我們後續會在談,總而言之,函數是一種程式元件,是組成大程式的小程式。
使用函式可以避免重複程式出現,使程式更簡潔。
使用函式不僅可以使程式結構清晰,更易於閱讀跟維護,也方便多人合作共同開發程式,實現自頂向下、分而治之、逐步求精的結構化程式設計。
函式也是實現遞迴演算法等必不可少的工具。
一般高階語言系統裡都有提供自訂函式的敘述和方法,讓使用者去處理問題;同時系統也有一些函式可以直接呼叫,讓使用者能方便使用。那對於Python,它系統函式有分為內建函式庫(input()、print())與標準函式庫(math、random)。內建函式是語言的一部分,可以直接打來做使用,像我們之前print那樣,而標準函式庫則需要匯入才能使用,在之後也會多做說明。那今天重點,就是要在Python中建立可以讓使用者使用的自訂函式。
以下為建立函式的語法:
def 函式名稱(參數1, 參數2,...):
#函式中的程式碼
#它會處理參數1, 參數2中的資料
.
.
# 最後傳回結果
[return 傳回值]
那馬上我們就可以來試試定義一個沒有參數的函式
def SayHello(): #建立名稱為SayHello()的函式,沒參數
print('你好~')
跟一個有參數的函式
def Area(width,height): #建立名稱為Area()的函式,有參數
a = width*height
return a
知道怎麼定義,當然也要知道怎麼呼叫,我們可以直接在IDLE裡打上它的名稱
>>> SayHello()
你好~
也能直接寫在一行中作為敘述形式出現
size = Area(6,9)
print('大小為',size)
大小為 54
def Mark():
print('=============')
Mark()
print('你好~')
Mark()
印出結果
=============
你好~
=============
求溫度
def ctof(c):
f = c * 1.8 + 32
return f
tep = float(input('請輸入攝氏溫度:'))
print('華氏溫度為:%.1f度'%ctof(tep))
迴圈印星星
def star(s):
for n in range(s):
for m in range(n+1):
print('*',end='')
print()
while True:
num = int(input('input Line:'))
a = int(num)
if num == 0:
break
star(num)
明天再來多深入探討吧~