Python 的類別機制支援封裝、繼承與多型,是物件導向程式設計的核心。本文透過一個 Person 類別範例,示範如何定義類別、建構子、實例方法、字串表示以及屬性操作,幫助初學者快速掌握類別設計要點。
Person 類別包含四個屬性:名字、中間名、姓氏與年齡。建構子 __init__ 初始化這些屬性;__str__ 定義物件的字串表示;initials 回傳姓名縮寫;changeAge 修改年齡。
class Person:
def __init__(self, first, middle, last, age):
self.first = first
self.middle = middle
self.last = last
self.age = age
def __str__(self):
return f"{self.first} {self.middle} {self.last} {self.age}"
def initials(self):
return self.first[0] + self.middle[0] + self.last[0]
def changeAge(self, val):
self.age += val
實例化物件後,可直接呼叫方法或存取屬性:
myPerson = Person('Raja', 'I', 'Kumar', 21)
print(myPerson) # 輸出: Raja I Kumar 21
myPerson.changeAge(5)
print(myPerson) # 輸出: Raja I Kumar 26
print(myPerson.initials()) # 輸出: RIK
self。print() 或 str() 的行為,回傳字串。self 存取或修改實例屬性。實務上常加入型別提示、屬性驗證、@property 裝飾器等,提升程式碼健壯性。例如:
class Person:
def __init__(self, first: str, middle: str, last: str, age: int):
self.first = first
self.middle = middle
self.last = last
self._age = age # 受保護屬性
@property
def age(self):
return self._age
@age.setter
def age(self, value):
if value < 0:
raise ValueError("年齡不能為負數")
self._age = value
# ... 其他方法同前
掌握類別設計是開發大型 Python 專案的基礎,建議多練習封裝業務邏輯於類別中。