iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0
佛心分享-IT 人自學之術

Python 學習筆記系列 第 19

筆記Day19:物件 Object 與類別 Class

  • 分享至 

  • xImage
  •  

當程式愈來愈複雜時,為了更有結構化的管理資料和供能,這時『物件與類別』就派上用場了!Python 本身是一個物件導向程式語言,俗稱『OOP』,幾乎所有的東西都是物件。

什麼是物件 Object?

依照類別所建立出來的實例,也就是說具體存在的東西。
簡單說物件就是類別的實例。

什麼是類別 Class?

像是藍圖或是模板,定義了一個物件應該有哪些屬性和方法。

  • 屬性 attributes:物件的特性,例如:品牌、顏色。
  • 方法 methids:物件的行為,例如:前進、後退。

舉個例子來說,有個類別為『汽車』,這台車子有品牌、顏色等屬性,以及前進、後退、煞車等方法,而『某人的白色Audi』就是物件,它是『汽車』這個爛別的具體實例。

建立類別與物件

在 Python 中使用class關鍵字來定義類別。

class className:
class Car:
    # 建構子 (Constructor),建立物件時會自動呼叫
    def __init__(self, brand, color):
        self.brand = brand  # 屬性
        self.color = color  # 屬性
    # 方法
    def drive(self):
        print(f"{self.color} 的 {self.brand} 前進。")

    def stop(self):
        print(f"{self.brand} 煞車。")
# 建立物件
my_car = Car("Audi", "白色")
your_car = Car("Toyota", "黑色")
# 呼叫方法
my_car.drive()
your_car.stop()

這邊可以看見self參數,這一開始看到時可能很難理解,不過可以把它解釋成『實例化後的物件本身』也就是自己的概念會比較好理解。

補充一下__init__的東西,以下可以看到三個brand和三個color,用brand舉例好了,這三個brand並非是相同的東西。

class Car:
    def __init__(self, brand, color):
        self.brand = brand
        self.color = color

讓我們拆解開來看,實際上會是這樣的:
這樣一來應該可以看得出來區別了!

def __init__(self, 品牌, 顏色):
    self.brand = 品牌
    self.color = 顏色

屬性 Attributes 與 方法 Methods

  • 屬性:用來描述物件的特徵,在 Python 中通常會在__init__初始化方法中定義,並透過self指向。
  • 方法:用來定義物件的行為,方法的第一個參數永遠都會是self,代表物件本身。
class Person:
    def __init__(self, name, age):
        self.name = name  # 屬性
        self.age = age    # 屬性

    def introduce(self):  # 方法
        print(f"大家好,我是 {self.name},今年 {self.age} 歲。")

p1 = Person("小明", 18)
p1.introduce() # 我是小明,今年18歲。

那麼今天就介紹到這,明天見ㄅㄅ!


上一篇
筆記Day18:推推推導式
下一篇
筆記Day20:繼承 Inheritance
系列文
Python 學習筆記20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言