如何在 Python 中建立類別(物件導向程式設計)

了解如何在 Python 中建立類別。掌握 __init__ 建構子、實例方法、self 關鍵字和物件實例化。

在編輯器中嘗試此解決方案

概述

物件導向程式設計 (OOP) 是一種強大的範例,用於對現實世界的實體進行建模、建立應用程式並提高程式碼的可重用性。在Python中,一切都是對象,類別是創建各個對象的藍圖。建立類別可讓您將資料屬性和函數捆綁在一起。

要定義類,請使用“class”關鍵字,後面跟著類別名稱(通常以 PascalCase 形式編寫)。在類別內部,最重要的方法是建構子:`__init__(self, ...)`。當您實例化類別時,會自動執行這個特殊的魔術方法,初始化物件的起始資料屬性。

「self」參數代表您目前正在建立或修改的類別的特定實例。類別中的每個實例方法都必須接受“self”作為其第一個參數。實例方法是在類別內部定義的函數,它們會對物件的屬性進行操作,從而實現邏輯的乾淨封裝。

程式碼和執行輸出

該腳本演示了創建類別、定義屬性、類別實例方法以及創建物件。

create_class.py
在編輯器中嘗試
# 1. Defining a class
class User:
    def __init__(self, username, email):
        self.username = username
        self.email = email
        self.active = True  # Default attribute

    def get_info(self):
        status = "Active" if self.active else "Inactive"
        return f"User: {self.username} | Email: {self.email} | Status: {status}"

# 2. Instantiating objects of the class
user1 = User("codeguy", "guy@example.com")
user2 = User("pygirl", "girl@example.com")

# 3. Accessing attributes and invoking methods
print(user1.get_info())
print(user2.username, "has email", user2.email)
端子輸出
User: codeguy | Email: guy@example.com | Status: Active
pygirl has email girl@example.com

逐步實施

  • 使用 class 關鍵字來聲明類別模板。
  • 定義 __init__(self, ...) 建構子來設定初始屬性。
  • 新增接受 self 作為第一個參數的實例方法來處理物件狀態。
  • 呼叫 ClassName(...) 來實例化並建立一個新的物件實例。

常見問題解答

self參數代表什麼?

它指的是正在建立或操作的物件的特定實例。需要將屬性綁定到實例。

一個類別可以具有在所有實例之間共享的屬性嗎?

是的,這些是類別屬性。直接在類別頭下定義它們(在 __init__ 之外)並使用 ClassName.attribute 存取它們。

相關主題

推薦的 Python 資源

透過相關的互動式教學、備忘單和程式碼比較來擴展您的知識。