Try   HackMD

第七堂 function: def, class

def

function 要先定義,定義完要呼叫才會執行

def test(): print("123") test()

因為python是直譯的關係,如果先呼叫 會找不到定義

test() def test(): print("123")

用function的時機:同樣邏輯的事情做很多次

return 返回值:要拿變數去接、或者印出

def test(): return 555 print(test()) x = test() print(x)
def test(): print("444") return 555 print(test())

return 的意思就是結束、離開目前的function

def test(): return 555 print("444") print(test())

return 可以一次回傳多個值

def test(): return 1, 3, 5 print(test()) a, b, c = test() print(a) print(b) print(c)

如果只拿一個變數接收多個返回值,a會變成tuple元組

def test(): return 1, 3, 5 a = test() print(a)

在Python裡,function要不要加上return都可以

如果沒有return,拿變數a去接的話會是None

def test(): print("Hi") a = test() print(a)
def test(): print("Hi") return None

def 帶參數

def test(t): print(t) test(5)

兩數相加

def add(a, b): return a + b x = add(5, 8) print(x)

簡單的計算機

def cal(a, op, b): if op == "+": return a + b if op == "-": return a - b if op == "*": return a * b if op == "/": return a / b x = cal(5, "+", 8) print(x) x = cal(5, "-", 8) print(x) x = cal(5, "*", 8) print(x) x = cal(5, "/", 8) print(x)