開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(クラスとオブジェクト指向プログラミング)のまとめ演習6(__bases__属性)を解いてみる。
6.
コード(TextWrangler)
#!/usr/bin/env python #encoding: utf-8 class Super: def __init__(self): self.data1 = 10 self.data2 = 'spam' class Lister(Super): def __repr__(self): return ("<Instance of %s(%s), address %s:\n%s>" % (self.__class__.__name__, self.f(), id(self), self.attrnames())) def attrnames(self): result = '' for attr in self.__dict__.keys(): if attr[:2] == '__': result += "\tname %s=<built-in\n" % attr else: result += "\tname %s=%s\n" % (attr,self.__dict__[attr]) return result def f(self): result = '' i = 1 for c in self.__class__.__bases__: if not i: result += ', ' i = 0 result += c.__name__ return result if __name__ == '__main__': print(Lister())
入出力結果(Terminal)
$ python sample.py <Instance of Lister(Super), address 4366474000: name data1=10 name data2=spam > $
0 コメント:
コメントを投稿