Python Function

廖惠平

2016/5/23

Function

函式

  • 可重複使用的功能
  • 避免複製貼上
  • 傳入參數可微調結果
  • 可能有回傳值
  • 內建函式
  • 自行撰寫函式

參數

  • parameter
  • 類似指派
  • 用來調整函式執行時的結果
  • 可變變數可在函式中被改動!

範例

假設我想要一杯紅茶微糖去冰...

  • 函式:生產手搖紅茶
  • 參數:微糖、去冰
  • 回傳:一杯微糖去冰的手搖紅茶

定義函式


def 函式名稱(參數):
	函式要做的事情
	return 回傳值

def say_hi_to(name):
	print('Hi, '+name+'!')
	return True;
            		
  • def開頭
  • 有意義的命名
  • 記得冒號
  • 記得縮排

呼叫函式


函式名稱(參數)
greet = False
greet = say_hi_to('Peter')
#'Hi, Peter!'
#greet = True
            		
  • 以函式名稱+小括號呼叫(call)函式
  • 可以有多個參數
  • 可用變數接回傳值
  • 先定義再呼叫

Parameter

參數與函式


def say_hi():
	print('Hi~')
def say_hi_to(name):
	print('Hi, ' + name + '!')
def say_sth_to(name, greet):
	print(greet + ', ' + name + '!')
            		

say_hi()	#Hi~

my_name = 'Python'
say_hi_to(my_name)	#Hi, Python!

my_name = 'World'
say_sth_to(my_name, 'Hello')	#Hello, World!
            		

Demo

參數與函式

  • 參數可有可無
  • 可以有兩個以上的參數
  • 可傳入常數或變數
  • 傳入參數時要照順序或使用keyword

可變與不可變參數


def mutable_or_immutable(para):
	para += '1'

a = 'a'
b = ['b']
mutable_or_immutable(a)
print(a)	#a
mutable_or_immutable(b)
print(b)	#['b','1']
            		

Demo

可變與不可變參數

在函式中對參數做更動時:

  • 不可變資料型態不會被改動
  • 可變資料型態會被改動

使用時務必謹慎!

練習:成績轉換

練習:成績轉換

  • 輸入成績
  • 將分數字串轉為整數
  • 以函式判斷並顯示分數等第
  • 輸入成績為-1時結束程式

Demo

Return

回傳值


def function1():
	print('no return')
def function2():
	print('no return')
	return

def function3():
	print('return bool')
	return True;

def function4():
	print('return tuple')
	return (1,2)
def function5():
	print('return tuple')
	return 1,2
            		

回傳值

  • 沒有回傳值(回傳None)
  • 一個回傳值
  • 多個回傳值
  • 回傳tuple

練習:溫度單位轉換

華氏 = 攝氏*(9/5)+32

練習:溫度單位轉換

攝氏 = (華氏-32)*5/9

練習:溫度單位轉換

輸入C結束程式

練習:溫度單位轉換

  • 輸入A為華式轉攝氏
  • 輸入B為攝氏轉華氏
  • 輸入C結束程式
  • 輸入溫度
  • 將溫度字串轉為數字
  • 以函式實做單位轉換
  • 回傳轉換後的數字
  • 顯示結果

Demo