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

WBOY
發布: 2023-08-19 18:33:22
轉載
1214 人瀏覽過

如何在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'屬性中。每個物件都表示為,其中'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類別中利用物件清單是一種有價值的技術,可以有效地儲存和管理類別的多個實例。它可以簡化對物件的儲存、檢索和操作,從而簡化對它們執行各種操作的過程。透過在類別中新增清單屬性,並使用類別或實例方法將物件新增至清單中,可以輕鬆存取、新增、刪除和修改清單中的物件。這種方法在需要管理具有相似屬性或行為的類別的多個實例的場景中特別有優勢。

以上是如何在Python類別中建立物件列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!