位置:首頁 » Python3入門教學 » Python3 麵向對象:類和對象

Python3 麵向對象:類和對象 [編輯]

技術始終要發展。什麼是類以及它們從哪裡來的呢?

1. 語句:
在計算機科學的最早期,程序員隻寫了命令。

2. 函數:
語句可重複使用的一個集合,有助於結構化代碼,它提高了代碼的可讀性。

3. 類:
Classes are used to 類是用於創建函數和變量的對象。具有函數和變量。字符串就是一個對象的例子:一個字符串:book 具有函數 book.replace()和 book.lowercase()。This style is often called object oriented programming.這種風格通常被稱為麵向對象的編程。

Python 類

我們可以在 Python 中創建虛擬對象。虛擬對象可以包含變量和方法。一個程序從類創建可以具有許多不同的類型。如下示例:

class User:
    name = ""
 
    def __init__(self, name):
        self.name = name
 
    def sayHello(self):
        print "Hello, my name is " + self.name
 
# create virtual objects
james = User("James")
david = User("David")
eric = User("Eric")
 
# call methods owned by virtual objects
james.sayHello()
david.sayHello()

運行該程序。在這段代碼中,我們有3個虛擬對象:james, david 和 eric。每個對象都是 User 類的實例。

python class: creation of objects

Python 類: 創建對象

在這個類中,我們定義 sayHello()方法,這就是為什麼我們可以在每個對象中調用它。__init __()方法作為構造函數調用在創建對象時它總是最先被調用。 由類所擁有的變量,在這裡是“name”。這些變量有時也被叫作:類屬性。

練習:

  1. 加入 eric.sayHello()方法並運行
  2. 更改 sayHello()調用的順序和數量
  3. 添加一個方法 sayBye()顯示  “Goodbye”
  4. 更改 User(“James”) 內部文本,並看看會發生什麼
  5. 創建新的虛擬對象:Brian, Tamara 和 Abbey,並讓他們打個招呼

讓我們繼續,可以創建類的方法以更新對象的內部變量。這看起來可能有點不太明白,下麵會用一個例子來說明。

類變量

我們定義一個類CoffeeMachine其中的虛擬對象保存咖啡豆的量和水的量。兩者都定義為一個數字(整數)。然後,我們可以定義方法來添加或刪除豆。

    def addBean(self):
        self.bean = self.bean + 1
 
    def removeBean(self):
        self.bean = self.bean - 1

我們對變量 water 做做同樣設置。如下圖所示:

class CoffeeMachine:
    name = ""
    beans = 0
    water = 0
 
    def __init__(self, name, beans, water):
        self.name = name
        self.beans = beans
        self.water = water
 
    def addBean(self):
        self.beans = self.beans + 1
  
    def removeBean(self):
        self.beans = self.beans - 1
 
    def addWater(self):
        self.water = self.water + 1
    
    def removeWater(self):
        self.water = self.water - 1
 
    def printState(self):
        print "Name  = " + self.name
        print "Beans = " + str(self.beans)
        print "Water = " + str(self.water)
 
pythonBean = CoffeeMachine("Python Bean", 83, 20)
pythonBean.printState()
print ""
pythonBean.addBean()
pythonBean.printState()

運行該程序。代碼的頂端部分定義了我們所描述的類。下麵的代碼是用於創建虛擬對象。在這個例子中,我們有一個對象叫作: “pythonBean”.  然後我們在內部的方法將變量改變,因為我們在類中定義方法。輸出結果如下:

Name  = Python Bean
Beans = 83
Water = 20
 
Name  = Python Bean
Beans = 84
Water = 20

練習:

  1. 調用方法 addBean() 多次
  2. 更改機器的名稱
  3. 創建多個咖啡機
  4. 改變水量(彆忘了打印)
  5. 創建一個類 telephone 以及虛擬對象Phone1 和 Phone2 修改電池的量。

如果遇到困難或有任何疑問,請隨時發表評論。