Python 類和對象

Python 是一种面向对象的编程语言。Python 类和对象是 Python 编程语言的核心构建模块。

Python 类

到目前为止,你们应该已经学过Python 数据类型。如果你记得的话,在 Python 中,基本数据类型仅指一次只处理一种数据。如果你可以声明一种数据类型,它本身包含多种数据类型,并可以通过任何函数与它们一起工作,那会是怎样的情况呢?Python 类为你提供了这个机会。Python 类是创建类的实例的蓝图。

简单的 Python 类声明

以下是 Python 类定义的基本结构。

class ClassName:  
    # Python 类变量列表  
    # Python 类构造函数  
    # Python 类方法定义

现在,让我们通过实际例子来学习。

#類別定義開始處  
class Person:  
    #初始化變數  
    name = ""  
    age = 0  
      
    #定義建構函式  
    def __init__(self, personName, personAge):  
        self.name = personName  
        self.age = personAge  
  
    #定義類別方法  
    def showName(self):  
        print(self.name)  
  
    def showAge(self):  
        print(self.age)  
          
    #類別定義結束  
  
# 創建一個類別的物件  
person1 = Person("John", 23)  
#創建另一個相同類別的物件  
person2 = Person("Anne", 102)  
#調用物件的成員方法  
person1.showAge()  
person2.showName() 

這個例子基本上是自我解釋的。正如我們所知,以“#”開頭的行是Python註釋。註釋解釋了接下來的可執行步驟。此代碼產生以下輸出。

Python類別定義

class Person: 

這一行標誌著類別’Person’的類別定義開始。

Python類別變數

    #初始化變數  
    name = ""  
    age = 0

‘name’和’age’是類別’Person’的兩個成員變數。每次我們聲明此類別的一個物件時,它將包含這兩個變數作為其成員。此部分是可選的,因為它們可以由構造函數初始化。

Python 類別建構函式

    #定義建構函式  
    def __init__(self, personName, personAge):  
        self.name = personName  
        self.age = personAge

Python 類別建構函式是在建立類別的新物件時首先執行的程式碼。主要來說,建構函式可以用來給成員變數設定值。您也可以在建構函式中列印訊息以確認物件是否已經建立。一旦我們了解了 Python 繼承的概念,我們將會學到建構函式更重要的角色。建構函式方法以 def __init__ 開始。之後,第一個參數必須是 ‘self’,因為它會傳遞對該類別實例的引用。您也可以像範例中所示的方式添加其他參數。’personName’ 和 ‘personAge’ 是在建立新物件時傳入的兩個參數。

Python 類別方法

#定義 Python 類別方法  
    def showName(self):  
        print(self.name)  

方法的宣告方式如下:

def method_name(self, parameter 1, parameter 2, …….)
    statements……..
    return value (if required)

在上述的範例中,我們看到方法 showName() 印出了該物件的 ‘name’ 值。我們將在其他時候討論更多關於 Python 方法的內容。

Python 類別物件

# 創建一個類別的物件  
person1 = Person("Richard", 23)  
# 創建同一類別的另一個物件  
person2 = Person("Anne", 30)  

# 呼叫物件的成員方法  
person1.showAge()
person2.showName()

在 Python 中創建物件的方式相當簡單。首先,您放置新物件的名稱,後面跟著分配運算子和類別名稱以及參數(如建構函式中所定義)。請記住,參數的數量和類型應該與建構函式中接收的參數相容。當物件已經被創建後,可以呼叫成員方法並存取成員屬性(前提是它們是可存取的)

# 通過直接存取 'name' 屬性來打印 person1 的名稱
print(person1.name)

以上是有關 Python 類別的基礎知識。隨著我們在接下來的教程中學習 Python 物件導向特性,如繼承、多型,我們將更深入地了解 Python 類別及其特性。在那之前,祝您編碼愉快,再見!如果您有任何疑問,請隨時評論。參考資料:Python.org 文件

Source:
https://www.digitalocean.com/community/tutorials/python-classes-objects