技術始終要發展。什麼是類以及它們從哪裡來的呢?
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 類的實例。
在這個類中,我們定義 sayHello()方法,這就是為什麼我們可以在每個對象中調用它。__init __()方法作為構造函數調用在創建對象時它總是最先被調用。 由類所擁有的變量,在這裡是“name”。這些變量有時也被叫作:類屬性。
練習:
- 加入 eric.sayHello()方法並運行
- 更改 sayHello()調用的順序和數量
- 添加一個方法 sayBye()顯示 “Goodbye”
- 更改 User(“James”) 內部文本,並看看會發生什麼
- 創建新的虛擬對象: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
練習:
- 調用方法 addBean() 多次
- 更改機器的名稱
- 創建多個咖啡機
- 改變水量(彆忘了打印)
- 創建一個類 telephone 以及虛擬對象Phone1 和 Phone2 修改電池的量。
如果遇到困難或有任何疑問,請隨時發表評論。