Python函式怎麼用?定義、呼叫與回傳【Python練習Day3】

Python練習第三天,主要在練習Python函式的呼叫和回傳,觀看彭彭老師的兩支函式影片,學習時間約一個小時。

認識Python函式 定義、呼叫與回傳
認識Python函式 定義、呼叫與回傳

函式是什麼

函式(function)在所有程式語言都非常重要,它是一種「程式區塊」,寫好之後可以在未來重複使用,也可以把它視為一個程式專案裡面裡面的「子程式」,負責一些會重複使用的功能,讓「主程式」利用呼叫的方式重複使用。

因此,函式的重要存在意義就是「重複使用」。

函式使用方式

在Python使用函式有兩個步驟,「先定義、在呼叫」:意即先定義並且建立好函式區塊後,在呼叫函式來使用。

函式參數

函式參數是在呼叫函數時,為了函市內的功能或運算需求,提供給函式的資料。

基礎程式寫法:

def 函式語法(參數名稱):
  函式內部程式碼

練習一:三個函式,分別無參數、有參數與傳入參數運算

def sayhello(): #定義一個叫做sayhello的函式
  print("Hello") #函式功能:印出hello

def say(msg):
 #定義一個叫做say的函式
  print(msg)
 #函式功能:印出msg(參數內容)

def add(n1,n2):
 #定義一個叫做add的函式
  result=n1+n2
 #函式功能:加總並印出
  print(result)

#呼叫函式

sayhello()
say("yo")
say("您好嗎")
add(1,2)
add(7,235)

執行結果

Hello
yo
您好嗎
3
242

練習二:定義一個函式,可加總1-該數的總和

def sum1(n3):
 
  sum=0
  
  for n in range(1,n3+1):
    sum=sum+n
  print(sum)

sum1(100)
sum1(10)
sum1(999)

執行結果

5050
55
499500

函式回傳:return

函式的運行中,可以透過return(回傳值)來回傳運算完的結果。

使用方始:

def 函式語法(參數名稱):
  函式內部程式碼
  return 資料 (回傳值:結束函式 回傳資料)

練習三:定義一個加總函數,並回傳答案

def k(n1,n2):
 #定義一個叫做k的函式
  result2=n1+n2
 #函式功能
  return result2
 #回傳答案

v=k(2,3)
 #呼叫並把回傳值放進變數v
print(v) #印出v

執行結果

5

函式預設資料

在函式建立時,也可以先設定參數的預設值,讓該函式在沒有值傳入時,使用預設的資料運作。

def 函式語法(參數名稱=預設資料):
   函式內部程式碼

練習四:寫一個次方計算函式,當未提供次方時,以0做為預設值。

def power(base,exp=0):
    print(base**exp)
power(3,2) #有給兩個資料,算出3的2次方
power(4) #沒有給足資料,使用預設資料,4的0次方

執行結果

9
1


無限參數

無限參數又稱為不定長度引數,可以讓函式接受不同數量的參數,並加以運作,須注意的是無限參數必須以tuple資料型態處理。

def 函式語法(*無限參數): 無限參數以tuple資料型態處理
  函式內部程式碼

練習五:定義一個函式,計算所有參數平均值

def avg(*ns):
  sum=0
  cun=0
  for x in ns:
    sum+=x
    cun=cun+1 #另一個寫法len(ns)
  print(sum/cun)

avg(3,7)
avg(3,5,10)
avg(1,4,-1,10)

執行結果

5.0
6.0
3.5

✏本次練習檔與影片

練習檔網址:Day3(11/27):認識Python函式 定義、呼叫與回傳
影片列表:函式基礎:定義並呼叫函式函式參數詳解
Python練習計畫-行銷人學Python的理由?【Python練習】

【Python新手練習】相關文章

【Python新手練習】系列文,是一個行銷人學習Python的筆記,希望可以藉由練習程式,訓練更強大的邏輯思考,如果你也對這塊有興趣,這些文章或許可以幫助到你!也歡迎一起交流。

行銷人的Python練習90計畫-為什麼要學Python?
Day0:Google Colab新手Python開發環境推薦
Day1:Python變數與資料型態
Day2:Python判斷式與迴圈(流程控制)
Day3:Python函式 定義、呼叫與回傳
Day4:載入Python模組與使用
Day5:Python檔案讀取和儲存
Day6:Python亂數與統計
Day7:Python API 開放資料串接,抓取台北市政府公開資料
Day8:Python實體物件建立與使用
Day9:Python爬蟲實戰!抓取PTT電影版

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *