關於Python實體物件,這篇練習我認為有點難度,花了蠻久的時間。
主要是對於「物件導向」的概念很難理解,因此除了看彭彭老師的教學影片外,還惡補了一些關於物件導向的文章來加深。

本篇文章內容
Python類別用法
- 類別與類別屬性
- 類別與實體物件、實體屬性
什麼是物件導向?
Python是一種物件導向的程式語言,彭彭老師在影片也說類別兩個用法,但主要在這階段,會介紹第二種與實體物件有關的使用方式。
而對於物件導向的說明,我推薦快樂學程式中的初學者應該要知道的物件導向概念和iT 邦幫忙裡面的這張圖,清楚說明了物件導向程式語言中,何謂類別、屬性和方法。
圖片來源:[ASP.NET] [C#] 物件導向 – 類別及物件的觀念確立 – iT 邦幫忙

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電影版
發佈留言