Python.use(better) #Calculator: step02b -- class Calculator
‖記事一覧‖ Python.use(better)《Python3.1》《復刻版》
class Calculator
《著》森こねこ、小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28
課題を作成する過程を通して「プログラミング」の理解を深めます。
※ Smalltalk-80 で作成した例題を、Python3.1 で再構成しました。
- Smalltalk a la carte #02, 電卓(デスクトップ), 1988, 1992, 1995.
class Calculator: def __init__(self): self.view = Plate() self.op = "" self.acc = 0 self.reset() def __repr__(self): # ... same as last time def __str__(self): s = "".join(self.reg) return s if s else "0" ## ---------------------------------------- def _changed(self): # ... same as last time def _update(self): self.view.display(str(self)) ## ---------------------------------------- def reset(self): # ... same as last time def clear(self): self.reset() self.acc = 0 self._changed() def append(self, value): # ... same as last time def eval(self): # ... same as last time def __call__(self, key): # ... same as last time ## ---------------------------------------- class Plate: def display(self, s): print(s) ## ---------------------------------------- class Key: # ... same as last time class NumKey(Key): # ... same as last time class OpKey(Key): # ... same as last time class ClrKey(Key): def __call__(self): return self.calculator.clear()
↑TOP