iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 13
0

認識函式

函式是程式中非常重要的抽象化工具,把程式碼包裝起來形成一體、形成獨立的概念,便於後續使用。它可供程式中的其他程式呼叫,該段獨立程式需要一個名稱以供呼叫,也可以接受呼叫者傳遞的參數,使處裡更靈活。函數執行後可以有傳回值返還呼叫者,這些我們後續會在談,總而言之,函數是一種程式元件,是組成大程式的小程式。

為什麼要使用函式

1.一次定義多次使用,實現「軟體重用」。

使用函式可以避免重複程式出現,使程式更簡潔。

2.功能切割,模組化,結構化。

使用函式不僅可以使程式結構清晰,更易於閱讀跟維護,也方便多人合作共同開發程式,實現自頂向下、分而治之、逐步求精的結構化程式設計。

3.身為程式元件,完成特殊功能。

函式也是實現遞迴演算法等必不可少的工具。

一般高階語言系統裡都有提供自訂函式的敘述和方法,讓使用者去處理問題;同時系統也有一些函式可以直接呼叫,讓使用者能方便使用。那對於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)

明天再來多深入探討吧~

參考資料

  • 書名-Python初學特訓班 /文淵閣工作室-編著
  • 書名-大數據起步從Python開始 /吳萍-編著

上一篇
Day12-程式錯誤和例外處理
下一篇
Day14-函式參數
系列文
Python 30天學習日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言