Python實體物件建立與使用【Python練習Day8】

Python實體物件這篇練習我認為有點難度,我花了蠻久的時間,主要是對於「物件導向」的概念,單看彭彭老師的教學影片後還是有點不懂,所以惡補了一些關於物件導向的觀念解說來加深對於實體物件的了解。

By.

min read

photo of turned on laptop computer

pexels-photo-943096

關於Python實體物件,這篇練習我認為有點難度,花了蠻久的時間。

主要是對於「物件導向」的概念很難理解,因此除了看彭彭老師的教學影片外,還惡補了一些關於物件導向的文章來加深。

Python實體物件
Python實體物件

Python類別用法

  • 類別與類別屬性
  • 類別與實體物件、實體屬性

什麼是物件導向?

Python是一種物件導向的程式語言,彭彭老師在影片也說類別兩個用法,但主要在這階段,會介紹第二種與實體物件有關的使用方式。

而對於物件導向的說明,我推薦快樂學程式中的初學者應該要知道的物件導向概念iT 邦幫忙裡面的這張圖,清楚說明了物件導向程式語言中,何謂類別、屬性和方法。

圖片來源:[ASP.NET] [C#] 物件導向 – 類別及物件的觀念確立 – iT 邦幫忙

Python實體物件-實體物件說明

Python實體物件

Python的實體物件透過類別來建議,因此必須先定義類別,再透過類別建立實體物件
而先建立好實體物件,後續才能使用實體屬性(封裝在實體物件中的變數)。

實體物件基本語法

class 類別名稱:
   def __init__(self): #定義初始化函式 
類別名稱() #呼叫初始化函式

練習一:宣告一個物件有兩個屬性x,y

class Point:
  def __init__(self,x,y):
    self.x=x
    self.y=y

#建立實體物件
#此實體物件包含x,y兩個實體屬性

p=Point(1,5)

#使用實體
#實體物件.實體屬性名稱
print(p.x+p.y)

執行結果

6


練習二:宣告一個FullName物件,有姓、名兩個屬性。

class FullName:
  def __init__(self,first,last):
    self.first=first
    self.last=last

name1=FullName("Y.C.","YEN")
print(name1.first,name1.last)

name2=FullName("C.Y.","Chen")
print(name2.first,name2.last)

執行結果

Y.C. YEN
C.Y. Chen


Python實體方法

Python實體方法則是指「封裝在實體物件中的函式」,一個實體物件內可以有多的實體方法,實體方法使用方式跟函式一樣。

實體方法基本語法

class 類別名稱:
    def __init__(self):
    #定義初始化函式
    #定義實體方法

練習:定義一個實體類別Point2,包含實體屬性x1,y1和兩個實體方法(show和distance),分別印出資料與計算距離。

class Point2:
  def __init__(self,x1,y1):
    self.x1=x1
    self.y1=y1
  def show(self): #第一個參數固定為self
    print(self.x1,self.y1), #透過self操作實體物件
  def distance(self,targetx,targety):
    return (((self.x1-targetx)**2)+((self.y1-targety)**2))**0.5

p2=Point2(3,4) #建立實體物件
p2.show() #呼叫實體方法(函式)
result=p2.distance(0,0)
print(result)

結果:先印出實體物件參數,在印出實體方法運算結果。

3.4
5.0

本次練習檔與影片

練習檔網址:Day8(12/13)Python 實體物件的建立與使用
影片列表: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電影版

發佈留言

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