iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 9
0
Software Development

初學者使用youtube影片學習python_純紀錄系列 第 9

Day9_初學者使用youtube影片學習python_純紀錄

  • 分享至 

  • xImage
  •  

參考資料

一樣是彭彭老師的教學影片,以下附上網址:
https://www.youtube.com/watch?v=7qKFvUVpQXg&list=PL-g0fdC5RMboYEyt6QS2iLb_1m7QcgfHk&index=9

影片內容

  1. 定義函式
    1.1 使用 def 建立函式
    1.2 參數名稱列表

  2. 呼叫函式
    2.1 呼叫函式的語法
    2.2 給定參數的資料

  3. 回傳與回傳值
    3.1 使用 return 結束函式
    3.2 使用 return 定義回傳值
    3.3 呼叫函式後,如何串接回傳值

  4. 函式的目的:包裝需要重複利用的程式碼。

  5. 參數的目的:替函式加入更多彈性。

  6. 回傳值的目的:將函式內部的資料傳遞出來。

學習紀錄

1.函式基礎
函式就是一個程式區塊,程式碼包裝在一個區塊中,方便隨時呼叫使用
先定義(建立)函式後,才能呼叫(使用)函式

2.定義函式
基本語法
函式內部的程式碼,若是沒有做函式呼叫就不會執行

def 函式名稱(參數名稱):
    函式內部的程式碼
程式範例 定義一個函式
2.1 def sayHello(): # 定義一個印出 Hello 的函式
        print("Hello") 
2.2 def say(msg): # 定義可以印出任何訊息的函式
        print(msg) 
2.3 def add(n1,n2): # 定義一個可以做加法的函式
        result=n1+n2
        print(result)

3.呼叫函式
基本語法
函式名稱(參數資料)

3.1 def sayHello() # 定義一個印出 Hello 的函式
        print("Hello") 
    sayHello() # 呼叫上方定義的函式
3.2 def say(msg): # 定義可以印出任何訊息的函式
        print(msg)  
    say("Hello Function") # 呼叫上方定義的函式,將"Hello Function"放進參數 msg,並顯示出"Hello Function"
    say("Hello Python") # 呼叫上方定義的函式,將"Hello Python"放進參數 msg,並顯示出"Hello Python"
3.3 def add(n1,n2): # 定義一個可以做加法的函式
        result=n1+n2
        print(result)
    add(3,4) # 呼叫上方定義的函式,將 3,4 放到 n1,n2,並顯示出 7
    add(7,8) # 呼叫上方定義的函式,將 7,8 放到 n1,n2,並顯示出 15

4.回傳值 return
基本語法
def 函式名稱(參數名稱):
函式內部的程式碼
return # 結束函式,回傳None
def 函式名稱(參數名稱):
函式內部的程式碼
return 資料 # 結束函式,回傳「資料」

4.1 def say(msg): # 定義可以印出任何訊息的函式
        print(msg) 
        return # 結束函式,回傳None
    value=say("Hello Function")
    print(value) # 因為函式的最後固定回傳 Neon,所以最後會顯示出 None

4.2 def add(n1,n2):
        result=n1+n2
        return "Hello" # 函式回傳字串 Hello
    value=add(3,4) # 呼叫函式,取得回傳值
    print(value) # 印出 Hello

4.3 def add(n1,n2):
        result=n1+n2
        return result # 函式回傳 n1+n2 的結果
    value=add(3,4) # 呼叫函式,取得回傳值
    print(value) # 印出回傳值 resul,最後顯示出 7

5.綜合範例

def multiply(n1,n2): #先定義函式
    print(n1*n2)
multiply(3,4) # 呼叫函式,並定義 n1,n1 為 3,4,最後顯示出 12
multiply(10,8) # 呼叫函式,並定義 n1,n1 為 10,8,最後顯示出 80

value=multiply(3,4) # 因為沒有定義 return,因此先按照函式 print n1*n2,並顯示none
print(value)

def multiply(n1,n2): #先定義函式
    print(n1*n2)
    return n1*n2
value=multiply(3,4) # 因為有定義回傳值,因此先按照函式 print n1*n2,再顯示一次 n1*n2
print(value)
value=multiply(3,4)+multiply(10,8) # 有定義回傳值才可以在外部直接進行運算,顯示出92
print(value)

6.函式可用來做程式的包裝:同樣的邏輯可以重複利用

def calculate(max):
    sum=0
    for n in range(1,max+1):
        sum=sum+n
    print(sum)

calculate(10) # 包裝後的函式可以只用一行就做完運算
calculate(20) # 且可以迅速地進行變化

我個人認為今天的函式很像自己定義一個數學公式,有需要的時候就自行編寫一個公式來用,著實是個很方便的功能,然而使用時會有不少的細節,尤其是回傳值要特別注意,以避免在寫程式的時候不小心就回傳了個 none 了。


上一篇
Day8_初學者使用youtube影片學習python_純紀錄
下一篇
Day10_初學者使用youtube影片學習python_純紀錄
系列文
初學者使用youtube影片學習python_純紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言