| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==Python サンプルコード オブジェクト指向==
[[Python][Python サンプルコード][言語まとめ Python][Python 標準ライブラリ概観]]
==クラスを使用==
===新スタイルクラスとクラシッククラス===
*Version2.2以降、「新スタイルクラス」が利用可能
<&lt;blockquote>&gt;「新スタイルクラス」は、__ビルトインオブジェクト(list、object等)のサブクラスとして作成する__(ビルトインオブジェクトのサブクラスは自動的に新スタイルとなる)<&lt;/blockquote>&gt;
# 新スタイルクラス
=====結果=====
<&lt;type 'instancemethod'>&gt;
hello.
===インスタンスと結びついている===
>>> &gt;&gt;&gt; class Foo:
... f1 = ''
... def bar(self, msg):
... print self.f1
...
>>> &gt;&gt;&gt; f = Foo() >>> &gt;&gt;&gt; x = f.bar >>> &gt;&gt;&gt; x('test')
test
>>> &gt;&gt;&gt; f.status()
called
==継承==
self._msg = 'hello'
=====結果=====
>>> &gt;&gt;&gt; x = Japanese() >>> &gt;&gt;&gt; x.greet()
ohayo-
>>> &gt;&gt;&gt; y = American() >>> &gt;&gt;&gt; y.greet()
hello
>>> &gt;&gt;&gt; z = Person() >>> &gt;&gt;&gt; z.greet()
...
===インスタンスが指定の型か調べる===
*isinstance()を使用する
>>> &gt;&gt;&gt; l = ['a','b','c'] >>> &gt;&gt;&gt; isinstance(l, list)
True
*調査する型にタプルを指定
>>> &gt;&gt;&gt; t = (1,2,3) >>> &gt;&gt;&gt; isinstance(t, (list, tupli)) >>> &gt;&gt;&gt; isinstance(t, (list, tuple))
True
*複数同時に調べる場合、タプルを指定
>>> &gt;&gt;&gt; class base_cls1:
... pass
...
>>> &gt;&gt;&gt; class base_cls2:
... pass
...
>>> &gt;&gt;&gt; class driv_cls(base_cls1, base_cls2):
... pass
...
>>> &gt;&gt;&gt; c = driv_cls() >>> &gt;&gt;&gt; isinstance(c, (base_cls1, base_cls2))
True
>>> &gt;&gt;&gt; issubclass(driv_cls, (base_cls1, base_cls2))
True

案内メニュー