Python 類別與物件導向程式設計
對 Python 類別、物件、繼承和 OOP 概念的完整介紹。創建強大的資料模型並擴展您的 Python 應用程式。
概述
物件導向程式設計 (OOP) 是一種強大的程式設計範例,在 Python 中大量用於建立大型、複雜的應用程式。與專注於編寫順序函數的過程式程式設計不同,OOP 圍繞著「物件」的概念。物件是一個獨立的單元,它將資料(稱為屬性)和行為(稱為方法)捆綁在一起。
Python 中的「類別」可作為創建物件的藍圖或範本。將類想像為房屋的建築藍圖。藍圖本身不是房子,但它定義了房子的外觀和功能。當您實例化一個類別時,您建立了一個根據該藍圖建構的有形「物件」或「實例」。您可以從單一類別建立數百個唯一實例。
Python 類別的核心是「__init__()」方法,通常稱為建構子。這個特殊方法會在從類別建立新物件時自動執行。它負責初始化物件的預設狀態,為其附加特定屬性。 「self」參數強制傳遞給實例方法,作為對正在操作的特定物件的參考。
OOP 最強大的支柱之一是繼承。繼承允許您建立一個新類別(子類別),該類別繼承現有類別(父類別)的所有屬性和方法。這促進了大規模程式碼重用。例如,您可能有一個通用的“Vehicle”類,然後建立繼承自“Vehicle”但添加自己的特定行為的“Car”和“Truck”子類。
另一個核心概念是封裝,即隱藏物件的內部狀態並要求所有互動透過指定方法進行的想法。雖然 Python 沒有嚴格的存取修飾符(如“private”或“protected”),但它依賴命名約定(例如在變數前添加下劃線“_”)來表明不應從類別外部直接操作屬性。
程式碼和執行輸出
定義 Car 物件實例的嚴格表示並利用類別方法來改變本地實例資料。
class Car:
def __init__(self, make, model):
self.make = make
self.model = model
self.is_running = False
def start(self):
self.is_running = True
return f"{self.make} {self.model} has started."
my_car = Car("Toyota", "Corolla")
print(my_car.make)
print(my_car.start())Toyota
Toyota Corolla has started.逐步實施
- 對現實世界的實體(使用者、產品、購物車)進行建模
- 建構遊戲引擎和實體組件系統
- 建立可重複使用的圖形使用者介面元件
常見問題解答
「自我」是什麼意思?
“self”代表類別的實例。透過使用「self」關鍵字,我們可以存取Python中類別的屬性和方法。
Python 支援多重繼承嗎?
是的,Python允許一個類別繼承多個父類別。
相關主題
推薦的 Python 資源
透過相關的互動式教學、備忘單和程式碼比較來擴展您的知識。