Python 是一種強大的程式語言,支援物件導向程式設計(OOP)。 OOP 允許開發人員以有組織且可重複使用的方式建立程式碼。 Python 中 OOP 的核心是類別和物件的概念。在本文中,我們將探討如何建立類別、實例化物件、定義屬性和實作方法,讓您全面了解這些基本的 OOP 概念。
類別是建立物件的藍圖。它定義了從類別創建的物件將擁有的屬性(資料)和方法(函數)的集合。將類別視為物件的模板。
class Car: pass # This is an empty class.
物件是類別的實例。當您從類別建立物件時,您將產生遵循該類別定義的結構的特定實例。每個物件都可以擁有自己獨特的數據,同時仍屬於同一類。
要在 Python 中建立類,請使用 class 關鍵字,後面接著類別名稱。依照慣例,類別名稱採用駝峰命名法(例如 Car、ElectricCar)。
class ClassName: # class attributes and methods
屬性是屬於一個類別的變數。它們儲存定義物件狀態的資料。有兩種類型的屬性:
class Car: wheels = 4 # Class attribute def __init__(self, make, model, year): # Instance attributes self.make = make self.model = model self.year = year
在此範例中:
方法是在類別內部定義的函數,用於描述從該類別建立的物件的行為。每個方法必須至少有一個參數,通常名為 self,它指的是呼叫該方法的實例。
class Car: wheels = 4 def __init__(self, make, model, year): self.make = make self.model = model self.year = year def display_info(self): return f"{self.year} {self.make} {self.model} with {self.wheels} wheels."
在此範例中,display_info 是一個傳回包含汽車資訊的格式化字串的方法。
要建立類別的實例(物件),您可以像呼叫函數一樣呼叫該類別。這會呼叫類別的建構方法 (__init__),該方法會初始化物件的屬性。
my_car = Car("Toyota", "Camry", 2020) print(my_car.display_info()) # Output: 2020 Toyota Camry with 4 wheels.
您可以使用點 (.) 表示法來存取物件的屬性和方法。
print(my_car.make) # Output: Toyota print(my_car.year) # Output: 2020
您也可以在建立實例後修改其屬性。這對於更新物件的狀態很有用。
my_car.year = 2021 print(my_car.display_info()) # Output: 2021 Toyota Camry with 4 wheels.
繼承是 OOP 中的一個強大功能,它允許新類別(子類別)繼承現有類別(父類別)的屬性和方法。這促進了程式碼的可重複使用性和類別之間的邏輯關係。
class ElectricCar(Car): # Inheriting from Car class def __init__(self, make, model, year, battery_size): super().__init__(make, model, year) # Calling the constructor of the parent class self.battery_size = battery_size def display_battery_info(self): return f"{self.make} {self.model} has a {self.battery_size}-kWh battery."
在此範例中,ElectricCar 是 Car 的子類別。它繼承了 Car 類別的屬性和方法,同時也引入了新的屬性(battery_size)和新的方法(display_battery_info)。
my_electric_car = ElectricCar("Tesla", "Model S", 2021, 100) print(my_electric_car.display_info()) # Output: 2021 Tesla Model S with 4 wheels. print(my_electric_car.display_battery_info()) # Output: Tesla Model S has a 100-kWh battery.
Python 的類別和物件是有效組織和建構程式碼的重要工具。透過了解如何建立類別、實例化物件、定義屬性和實作方法,您可以充分利用物件導向程式設計。這些概念促進了程式碼的可重複使用性、封裝性和程式邏輯的清晰組織,使您的應用程式更易於管理和擴展。
無論您是建立簡單的腳本還是複雜的應用程序,掌握 Python 中的類別和物件都將顯著提高您的程式設計技能。快樂編碼!
以上是釋放 Python 類別和物件的力量的詳細內容。更多資訊請關注PHP中文網其他相關文章!