開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- プログラミング言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(クラスとオブジェクト指向プログラミング)の22章(Pythonでのオブジェクト指向プログラミング)の練習問題2を解いてみる。
その他参考書籍
2.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- class A: a = 1 class B: a = 2 class C(A): pass class D(B): pass class E(C, D): pass e = E() print(e.a) # 属性は下から上、左から右の順に検索されるので1 # ダイヤモンド継承の場合はpython2.xとpython3.xで順序が違うので注意が必要 # python3.xでは下位のクラスから順に検索される(左から右という優先順位は変わらない) class F: a = 1 class G(F): pass class H(F): a = 2 class I(G, H): pass i = I() print(i.a) # python2.xの場合は1、python3.xの場合は2
入出力結果(Terminal)
$ ./sample.py 1 2 $ python2.7 sample.py 1 1 $
0 コメント:
コメントを投稿