在python中,類別是建立物件的藍圖。類別包含了物件的資料結構和行為。物件是類別的實例。類別中的資料結構稱為屬性,類別中的行為稱為方法。
使用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
(表示類別的實例)和name
和age
(表示物件的屬性)。
greet
方法是一個普通的方法,它可以被類別的實例呼叫。 greet
方法接受一個參數:self
(表示類別的實例)。
可以使用class
關鍵字建立類別的實例。類別的實例是類別的具體物件。
例如,以下程式碼建立了兩個Person
類別的實例:
person1 = Person("John", 25) person2 = Person("Mary", 30)
person1
和person2
是Person
類別的兩個實例。
可以使用.
運算子存取類別的屬性和方法。
例如,以下程式碼存取person1
物件的name
屬性:
print(person1.name)
輸出:
John
以下程式碼呼叫person1
物件的greet
方法:
person1.greet()
輸出:
Hello, my name is John
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
(表示類別的實例)。
Python支援類別的多態性。類別的多態性允許同一個方法對不同的類別有不同的行為。
例如,以下程式碼定義了一個名為greet_person
的函數,該函數接受一個Person
類別的實例作為參數:
def greet_person(person): person.greet()
這個函數可以對Person
類別及其衍生類別的實例進行呼叫。
例如,以下程式碼呼叫greet_person
函數來對person1
和person2
進行問候:
greet_person(person1) greet_person(person2)
輸出:
Hello, my name is John Hello, my name is Mary
以上是徹底理解Python類與對象,成為合格的Python開發人員的詳細內容。更多資訊請關注PHP中文網其他相關文章!