Python 入門指南 - 函數

函數 (function) 是一種功能性的單位,可以將程式 (program) 分割成小部分,藉由呼叫函數安排執行順序




定義函數使用關鍵字 (keyword) def ,其後空一格接函數名稱與小括弧,小括弧用來放參數列 (parameter list) ,函數可以有參數 (parameter) 也可以沒有參數,沒有參數的函數的小括弧留空,另外函數可用 return 設定回傳值 (return value) 。我們舉一例如下
def big(a, b):
    if a > b:
        return a
    else:
        return b


big() 函數回傳兩個參數中的較大值,參數數量則是依需求自己定義,這裡為兩個 ab ,另外此例用了兩個 return ,這裡 return 就是函數結束執行,將控制權交還原本呼叫函數的地方。


我們將 big() 寫成一個完整範例
def big(a, b):
    if a > b:
        return a
    else:
        return b

print()
print(big(33, 22))
print(big("John", "Mary"))
print()

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:bigdemo.py
# 功能:示範 Python 程式
# 作者:張凱慶
# 時間:西元 2012 年 12 月 


第 8 行先比較 33 與 22 的大小,然後印出哪一個比較大
print(big(33, 22))


第 9 行則是比較 "John" 與 "Mary" 的大小,字串比較是先比較第一個字元,按字母順序,順序越後面的值越大
print(big("John", "Mary"))


執行結果如下



函數常見的運用為重複性質的工作,我們另舉一例如下
def print_newline():
    print()

def print_something(a):
    print(a)

def return_something(a):
    return a

print_newline()
print_something(return_something("There is no spoon."))
print_newline()

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:printdemo.py
# 功能:示範 Python 程式
# 作者:張凱慶
# 時間:西元 2012 年 12 月 


這裡總共有三個函數, print_newline() 就是簡單的印出新行
def print_newline():
    print()


print_something() 則是印出參數 a
def print_something(a):
    print(a)


return_something() 則是回傳參數
def return_something(a):
    return a


執行結果如下



學會函數後,我們要進一步來看看怎麼設計類別 (class) 囉!


中英文術語對照
函數function
程式program
關鍵字keyword
參數列parameter list
參數parameter
回傳值return value
類別class



您可以繼續參考
基礎篇


相關目錄
回 Python 入門指南
回 Python 教材
回首頁


參考資料
http://docs.python.org/3.1/tutorial/controlflow.html
http://docs.python.org/3.1/reference/lexical_analysis.html
http://docs.python.org/3.1/reference/simple_stmts.html
http://docs.python.org/3.1/reference/compound_stmts.html

沒有留言: