
我們舉一例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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 () # 《程式語言教學誌》的範例程式 # 檔名:classdemo.py # 功能:示範 Python 程式 # 作者:張凱慶 # 時間:西元 2012 年 12 月 |
此例中的 Demo 類別的 setAtt 方法定義兩個實體屬性 self.a 與 self.b ,亦有三個參數 self 、 a 與 b ,同時設定 a 的初值為 22 , b 的初值為 33 ,然後將 a 設定給 self.a , b 設定給 self.b
2 3 4 | 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 的相加值
6 7 | def do_something( self ): return self .a + self .b |
建立新物件利用類別名稱的小括弧,然後呼叫 do_something() 兩次,第二次之前呼叫 setAtt() 重新設定 self.a 與 self.b 之值
9 10 11 12 13 14 15 | 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
沒有留言:
張貼留言