一月 13, 2010

周蟒--中文Python程式語言部落
zhpy
is about »
» 溫度換算(流程導向與物件導向)

最近天氣冷到爆。身在國外的同事問台灣這邊的氣溫。由於法國那邊報出來的溫度是用華氏(F)來表示,而在台灣這是用攝氏(C)來表示,所以報給他的溫度得要先轉換一下再告訴他。

剛好想起來很久沒寫文章了,就拿這個狀況題,來當做解釋流程導向與物件導向不同的例子吧 :)


首先把國小物理課中所教的溫度計算轉換式寫出來,就是

華氏溫度 = 攝氏溫度 * 9 / 5 + 32

上面這段是正確的周蟒程式,打開周蟒直譯器就可以直接得到運算結果 :)


若是要重用這個運算,寫成程式碼式很好的方式。如果套用流程導向方法來寫程式,就是包成一個函式來用:

定義 轉換成華氏溫度(攝氏溫度值):
返回 攝氏溫度值 * 9 / 5 +32

在使用時,只要呼叫

華氏溫度 = 轉換成華氏溫度(攝氏溫度值)

就可以得到結果。

如果是套用物件導向方法,則是把上述的函式跟提供的值包在一起,可以這麼寫:

類別 攝氏溫度(物件):
定義 __初始化__(我, 溫度值):
攝氏溫度值 = 溫度值
定義 轉換成華氏溫度(我):
返回 攝氏溫度值 * 9 / 5 +32

使用時呼叫

現在溫度 = 攝氏溫度(9)
華氏溫度 = 現在溫度.轉換成華氏溫度()

也可以得到相同結果。

八月 11, 2009

周蟒--中文Python程式語言部落
zhpy
is about »
» 用周蟒建立銀行帳戶類別

我們以建立一個銀行帳戶模型為例,來學習寫作周蟒的類別與函式:

類別 帳戶(物件):
定義 __初始化__(金額):
餘額 = 金額

定義 領錢(金額):
餘額 = 餘額 - 金額

定義 存錢(金額):
領錢(-金額)

定義 轉帳(來源帳戶, 目的帳戶, 金額):
來源帳戶.領錢(金額)
目的帳戶.存錢(金額)

主程式:
撲滿 = 帳戶(2000)
錢包 = 帳戶(0)
轉帳(撲滿, 錢包, 50)
印出 撲滿.餘額
印出 錢包.餘額

程式本身就自我解釋地很好了。

輸出結果為:

1950
50

(例子取自 美麗程式)

十二月 15, 2008

周蟒--中文Python程式語言部落
zhpy
is about »
» 生活化編程一起來 -- 用周蟒建立宅男模塊

由身邊事物開始學習物件導向,
有了周蟒,編程可以更生活化。

生活化編程這個 idea 的源起來自於一則學了 python 後就會飛起來的漫畫
http://xkcd.com/353/

在某地的討論過程中充滿了玩笑與歡樂,
發現學習 python 編程應該可以更有樂趣。


為了讓更模組更容易被理解, 所以使用周蟒.
當然也歡迎用 python 擴展:

我先丟一個基本範例,歡迎大家盡量擴展 XD


類別 宅男(男):
"""
http://zh.wikipedia.org/wiki/宅男 (通俗用法)
"""
定義 __初始化__(我):
我.知識=[keroro]

定義 把妹(我):
引發 尚未實作


聚合後完整的模塊會放在 zhpy.blogspot.com 上.

biggo.com.tw

A Django site.