首頁 >後端開發 >Python教學 >徹底理解Python類與對象,成為合格的Python開發人員

徹底理解Python類與對象,成為合格的Python開發人員

WBOY
WBOY轉載
2024-02-24 17:00:19805瀏覽

徹底理解Python類與對象,成為合格的Python開發人員

1. 類別與物件

python中,類別是建立物件的藍圖。類別包含了物件的資料結構和行為。物件是類別的實例。類別中的資料結構稱為屬性,類別中的行為稱為方法。

2. 定義類別

使用class關鍵字定義一個類別。類別的定義包括類別的名稱和類別的主體。類別的主體包含類別的屬性和方法。

例如,以下程式碼定義了一個名為Person的類別:

class Person:

def __init__(self, name, age):
self.name = name
self.age = age

def greet(self):
print("Hello, my name is", self.name)

在這個類別中,__init__方法是一個特殊的函數,它在建立類別的實例時被呼叫。 __init__方法接受兩個參數:self(表示類別的實例)和nameage(表示物件的屬性)。

greet方法是一個普通的方法,它可以被類別的實例呼叫。 greet方法接受一個參數:self(表示類別的實例)。

3. 建立物件

可以使用class關鍵字建立類別的實例。類別的實例是類別的具體物件。

例如,以下程式碼建立了兩個Person類別的實例:

person1 = Person("John", 25)
person2 = Person("Mary", 30)

person1person2Person類別的兩個實例。

4. 存取屬性與方法

可以使用.運算子存取類別的屬性和方法。

例如,以下程式碼存取person1物件的name屬性:

print(person1.name)

輸出:

John

以下程式碼呼叫person1物件的greet方法:

person1.greet()

輸出:

Hello, my name is John

5. 類別的繼承

Python支援類別的繼承。類別的繼承允許一個類別繼承另一個類別的屬性和方法。

例如,以下程式碼定義了一個名為Student的類,該類別繼承了Person類:

class Student(Person):

def __init__(self, name, age, major):
super().__init__(name, age)
self.major = major

def study(self):
print("I am studying", self.major)

在這個類別中,__init__方法呼叫了super().__init__來繼承Person類別的屬性和方法。 study方法是一個普通的方法,它可以被類別的實例呼叫。 study方法接受一個參數:self(表示類別的實例)。

6. 類別的多態性

Python支援類別的多態性。類別的多態性允許同一個方法對不同的類別有不同的行為。

例如,以下程式碼定義了一個名為greet_person的函數,該函數接受一個Person類別的實例作為參數:

def greet_person(person):
person.greet()

這個函數可以對Person類別及其衍生類別的實例進行呼叫。

例如,以下程式碼呼叫greet_person函數來對person1person2進行問候:

greet_person(person1)
greet_person(person2)

輸出:

Hello, my name is John
Hello, my name is Mary

以上是徹底理解Python類與對象,成為合格的Python開發人員的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lsjlt.com。如有侵權,請聯絡admin@php.cn刪除