如何在Python類中建立物件列表


Python 是一種動態且功能強大的程式語言,支援面向物件程式設計 (OOP)。OOP 的核心概念是物件,它是類的例項。Python 中的類是建立具有特定屬性和方法的物件的藍圖。OOP 中的一個常見用例是建立物件列表,其中每個物件都表示類的唯一例項。

在本文中,我們將討論在 Python 類中建立物件列表的過程。我們將討論所涉及的關鍵步驟,包括定義類、建立該類的物件、將它們新增到列表以及對列表中的物件執行各種操作。為了提供清晰的理解,我們還將提供示例和輸出來說明所討論的概念。因此,讓我們深入探討在 Python 類中建立物件列表的世界!

在Python中建立類

簡而言之,Python 中的類是建立物件的藍圖或模板,定義它們的屬性和行為(方法)。我們使用 class 關鍵字後跟類名,並在類塊內定義屬性和方法。

以下是Python中建立類的示例

class Student:
    def __init__(self, name, age, grade):
        self.name = name
        self.age = age
        self.grade = grade

在上面的例子中,我們概述了一個名為“Student”的Python類,它有一個特殊的構造方法,稱為“__init__”。構造方法在使用類呼叫後跟括號建立類的物件時會自動呼叫。“__init__”方法接受三個引數——“name”、“age”和“grade”——它們用於使用“self”關鍵字初始化物件的屬性。

建立類的物件

在 Python 中建立類的物件涉及例項化或建立類的例項。類充當物件的藍圖或模板,具有特定的屬性和行為。定義類後,您可以建立該類的多個物件或例項,每個例項都具有自己獨特的屬性值集。

示例

以下是如何建立類物件或例項的示例

# Create objects of the Student class
student1 = Student("Alice", 18, "A")
student2 = Student("Bob", 17, "B")
student3 = Student("Charlie", 19, "A+")

# Access and print attributes of the objects
print("Student 1:")
print("Name:", student1.name)
print("Age:", student1.age)
print("Grade:", student1.grade)

print("Student 2:")
print("Name:", student2.name)
print("Age:", student2.age)
print("Grade:", student2.grade)

print("Student 3:")
print("Name:", student3.name)
print("Age:", student3.age)
print("Grade:", student3.grade)

輸出

Student 1:
Name: Alice
Age: 18
Grade: A
Student 2:
Name: Bob
Age: 17
Grade: B
Student 3:
Name: Charlie
Age: 19
Grade: A+

在這個例子中,我們例項化了三個“Student”類的物件——student1、student2 和 student3——每個物件都具有姓名、年齡和成績的唯一屬性值。然後,我們使用點表示法訪問並列印每個物件的屬性值。這說明了建立類物件並檢索其屬性值以獲得所需輸出的過程。

在類中建立物件列表

在類中建立物件列表是 Python 中的一個有用功能,它允許您儲存和管理類的多個例項或值。當處理共享相似特徵或屬於同一類別的物件時,這可能很有幫助。讓我們透過一個示例來探討如何在類中建立物件列表,以便更好地理解這個概念。

class Student:
    def __init__(self, name, age, grade):
        self.name = name
        self.age = age
        self.grade = grade
        self.students_list = []  # Initialize an empty list to store student objects

    def add_student(self, student):
        self.students_list.append(student)  # Append student objects to the list

# Create student objects
student1 = Student("Alice", 18, "A")
student2 = Student("Bob", 17, "B")
student3 = Student("Charlie", 19, "A+")

# Add student objects to the list
student1.add_student(student1)
student1.add_student(student2)
student1.add_student(student3)

# Access objects in the list
print(student1.students_list) 

輸出

[<__main__.Student object at 0x7f8c87e35e80>, <__main__.Student object at 0x7f8c87e35ef0>, <__main__.Student object at 0x7f8c87e35f60>]

輸出是一個新增到 'student1' 物件的 'students_list' 屬性中的學生物件列表。每個物件都表示為 <main.Student object at 0x7f8c87e35exx>,其中 'xx' 是一個十六進位制數字,表示物件的記憶體地址。請注意,每次執行程式碼時,記憶體地址可能會發生變化,因為它們取決於系統的記憶體分配。

訪問列表中的物件

將學生物件新增到“students_list”後,我們可以使用標準列表索引或迭代輕鬆訪問它們。讓我們來看一個例子,看看我們如何訪問列表中的物件。

class Student:
    def __init__(self, name, age, grade):
        self.name = name
        self.age = age
        self.grade = grade
        self.students_list = []

    def add_student(self, student):
        self.students_list.append(student)

    def get_students(self):
        return self.students_list

# Create student objects
student1 = Student("Alice", 18, "A")
student2 = Student("Bob", 17, "B")
student3 = Student("Charlie", 19, "A+")

# Add student objects to the list
student1.add_student(student1)
student1.add_student(student2)
student1.add_student(student3)

# Access objects in the list
students_list = student1.get_students()  # Get the list of student objects
# Access objects using list indexing
print(students_list[0].name)  
print(students_list[1].name)
print(students_list[2].name) 

輸出

Alice
Bob
Charlie

在輸出中,您可以看到透過使用列表索引號列印所有學生的名字。然後使用點表示法訪問每個學生物件的“name”屬性,從而獲得學生的名字。

結論

總而言之,在 Python 類中使用物件列表是有效儲存和管理類多個例項的寶貴技術。它促進物件的有效儲存、檢索和操作,簡化了對它們的各種操作的執行。透過在類中包含列表屬性並使用類或例項方法將物件附加到列表中,可以輕鬆訪問、新增、刪除和修改列表中的物件。這種方法在需要管理具有相似屬性或行為的多個類例項的情況下特別有利。

更新於:2023年7月25日

8K+ 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.