函式基礎
函式可用來程式的包裝:同樣的邏輯,可重複使用,提高了代碼的可讀性、可維護性和重用性。
函式=程式區塊
程式碼包裝在一個區塊中,方便隨時呼叫取用(重複利用
函式如果只有定義,沒有呼叫,程式就不會執行
定義>呼叫
1.先定義(建立)函式
2.才能呼叫(使用)函式
定義
**def** 函式名稱( 參數名稱 ):
函式內部的程式碼
備註:參數不一定要寫
定義一個印出Hello的函式
def sayHello():
print("Hello")
#此步驟不會跑程式因為還枚呼叫
定義可以印出任何訊息的函式
def say(Msg):
print(Msg)
這邊的Msg類似變數的功能
把變數的資料印出來
定義一個可以做加法的函式
def add(n1, n2):
result=n1+n2
print(result)
呼叫
基本語法
函式名稱(參數資料)
定義一個印出Hello的函式
def sayHello():
print("Hello")
呼叫上方定義的函式
sayHello()
備註:呼叫的意思就是,程式跳到函式的裡面,跑函式裡面的程式碼
定義可以印出"任何訊息"的函式
定義函式:
def say(Msg):
print(Msg)
呼叫上方定義的函式:
say("HIHI") #將字串中的資料丟入Msg裡當參數印出
say("OKOK")
#HIHI
#OKOK
備註:參數讓我們的程式有彈性
定義一個可以做加法的函式
def add(n1, n2):
result=n1+n2
print(result)
呼叫函式
add(3,4)
#7
回傳值
備註:預設return後面若無資料,回傳值都是None
return沒有寫出來,回傳值也是None
基本語法
**def** 函式名稱( 參數名稱 ):
函式內部的程式碼
return 資料 #結束函式,回傳資料,若無資料,回傳值None
multiply(乘法)
函式內部的程式碼:如果沒有呼叫,就不會執行
定義:
def mutiply()
print(3*4)
呼叫函式:
mutiply()
#12
增加彈性的寫法(如下
def mutiply()
print(n1*n2)
mutiply(3,5)
#15
mutiply(6*2)
#12
綜合
def mutiply()
print(n1*n2)
return 10
value=mutiply(3,5)
#程式帶入先印出15
然後回傳值帶入value再印出10
程式若有從"函式外部"繼續操作資料的需求
可使用回傳值
有回傳值才能把結果帶出來繼續操作
def mutiply(n1, n2):
return (n1*n2)
value=mutiply(3,5)+mutiply(2,6) #(3*5)+(2*6) 的概念
print(value)
#15+12=27
程式包裝=重複的邏輯可重複利用
函式最大的用途就是作程式的包裝
當類似工作重複出現可重複利用
sum=0
for n in range(1,11):
sum=sum+n
print(sum)
#55
sum=0
for n in range(1,21):
sum=sum+n
print(sum)
#210
等等等...
以上程式因架構重複
故可包裝程式:
定義:
def calculate():
for n in range(n1,n2):
sum=sum+n
print(sum)
呼叫:
calculate(1,11) #1+...+10
calculate(1,21) #1+...+20
calculate(1,31) #1+...+30
...