當程式愈來愈複雜時,為了更有結構化的管理資料和供能,這時『物件與類別』就派上用場了!Python 本身是一個物件導向程式語言,俗稱『OOP』,幾乎所有的東西都是物件。
依照類別所建立出來的實例,也就是說具體存在的東西。
簡單說物件就是類別的實例。
像是藍圖或是模板,定義了一個物件應該有哪些屬性和方法。
舉個例子來說,有個類別為『汽車』,這台車子有品牌、顏色等屬性,以及前進、後退、煞車等方法,而『某人的白色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 = 顏色
__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歲。
那麼今天就介紹到這,明天見ㄅㄅ!