我們舉一例如下
class Demo: def setAtt(self, a = 22, b = 33): self.a = a self.b = b def do_something(self): return self.a + self.b print() d = Demo() d.setAtt() print(d.do_something()) d.setAtt(11, 22) print(d.do_something()) print() # 《程式語言教學誌》的範例程式 # http://pydoing.blogspot.com/ # 檔名:classdemo.py # 功能:示範 Python 程式 # 作者:張凱慶 # 時間:西元 2012 年 12 月
此例中的 Demo 類別的 setAtt 方法定義兩個實體屬性 self.a 與 self.b ,亦有三個參數 self 、 a 與 b ,同時設定 a 的初值為 22 , b 的初值為 33 ,然後將 a 設定給 self.a , b 設定給 self.b
def setAtt(self, a = 22, b = 33): self.a = a self.b = b
self 為 Python 類別定義中預設的參數,代表建立的物件實體,因此 self.a 與 self.b 都是實體屬性。
另外定義一個 do_something() 方法,回傳 self.a 與 self.b 的相加值
def do_something(self): return self.a + self.b
建立新物件利用類別名稱的小括弧,然後呼叫 do_something() 兩次,第二次之前呼叫 setAtt() 重新設定 self.a 與 self.b 之值
print() d = Demo() d.setAtt() print(d.do_something()) d.setAtt(11, 22) print(d.do_something()) print()
執行看看結果吧
定義類別很簡單吧!我們將發展一個 Encrypt 類別,利用 Encrypt 物件進行編碼、解碼的工作,在此之前,我們先來想想密碼表該怎麼製作出來咧!這就需要用到串列 (list) 了。
中英文術語對照 | |
---|---|
類別 | class |
物件 | object |
關鍵字 | keyword |
類別變數 | class variable |
實體變數 | instance variable |
方法 | method |
串列 | list |
您可以繼續參考
基礎篇
相關目錄
回 Python 入門指南
回 Python 教材
回首頁
參考資料
http://docs.python.org/3.1/tutorial/classes.html
http://docs.python.org/3.1/reference/lexical_analysis.html
http://docs.python.org/3.1/reference/simple_stmts.html
http://docs.python.org/3.1/reference/compound_stmts.html
沒有留言:
張貼留言