在Python中,類(Class)和對象(Object)是面向對象編程的核心概念。想象一下,如果你想製作一批一模一樣的玩具車,“玩具車”的設計圖紙就是“類”,而你按照圖紙做出來的每一輛具體的玩具車,就是一個“對象”。類定義了對象的“模板”,包含對象的屬性(特徵)和方法(行爲);對象則是根據模板創建的具體“實例”,每個對象都有自己獨立的屬性值,並且可以執行類中定義的方法。
一、定義類:創建“模板”¶
要定義一個類,我們使用 class 關鍵字,後面跟着類名(通常首字母大寫,遵循Python命名規範),然後是類體(縮進的代碼塊)。類體中可以包含屬性(描述對象特徵的變量)和方法(對象的行爲,本質是函數)。
關鍵點:¶
- 類名:通常使用首字母大寫的駝峯式命名,如
Person、Car。 - 構造方法
__init__:這是一個特殊方法,當創建對象時會自動調用,用於初始化對象的屬性。方法的第一個參數必須是self,代表當前實例(即對象本身),後續參數用於設置屬性值。 - 屬性:通過
self.屬性名賦值,例如self.name = name,這樣每個對象都有獨立的屬性值。
示例:定義一個簡單的 Person 類¶
class Person:
# 構造方法:創建實例時自動調用,初始化屬性
def __init__(self, name, age):
# self.name = name:將參數name賦值給實例的name屬性
self.name = name
self.age = age # 同理,self.age = age
# 實例方法:對象的行爲(第一個參數必須是self)
def greet(self):
print(f"你好!我叫{self.name},今年{self.age}歲。")
二、創建實例:生成“具體對象”¶
定義好類之後,就可以通過“類名()”創建對象(實例),並傳入構造方法需要的參數(除self` 外)。
關鍵點:¶
- 創建對象時,Python會自動調用
__init__方法,並將self指向當前實例。 - 每個對象都是獨立的,擁有自己的屬性值,互不影響。
示例:創建 Person 類的實例¶
# 創建第一個對象:小明,年齡18歲
person1 = Person("小明", 18)
# 創建第二個對象:小紅,年齡20歲
person2 = Person("小紅", 20)
三、使用對象:訪問屬性和調用方法¶
創建對象後,可以通過 對象名.屬性名 訪問屬性,或通過 對象名.方法名() 調用方法(無需手動傳 self,Python會自動傳入)。
示例:使用 Person 類的實例¶
# 訪問屬性
print(person1.name) # 輸出:小明
print(person2.age) # 輸出:20
# 調用方法
person1.greet() # 輸出:你好!我叫小明,今年18歲。
person2.greet() # 輸出:你好!我叫小紅,今年20歲。
四、類與對象的核心總結¶
- 類是模板:定義屬性和方法的“藍圖”,多個對象可以基於同一個類創建。
- 對象是實例:每個對象有獨立的屬性值,例如
person1和person2的name和age可以不同。 - 方法必須帶
self:實例方法的第一個參數self是Python自動傳入的當前對象,調用時無需手動傳參。 - 屬性與方法分離:屬性是描述對象的變量(如
name、age),方法是對象的行爲(如greet)。
通過類和對象,我們可以將數據(屬性)和操作(方法)封裝在一起,讓代碼更模塊化、易維護。初學者只需記住:先定義類(模板),再創建對象(實例),最後用對象訪問屬性和方法,就能逐步掌握Python面向對象編程的基礎了。