メタクラス:Python

「メタクラス:Python」の編集履歴(バックアップ)一覧はこちら

メタクラス:Python」(2006/03/21 (火) 09:12:52) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

Pythonのメタクラス。 メタクラスを使うと、色々できる。 PythonにはJavaのようなインターフェースはないが、 インターフェースを継承させて、 メソッドがなかったらエラーをだすようなこともできる。 class test(type): def __init__(cls,name,bases,dict): #super(test,cls).__init__(name,bases,dict) print cls print name print bases print dict if dict.has_key("__implements__"): for m in dict["__implements__"].__dict__: if m[0]!="_": print m,dict.has_key(m) class c1: def ok(self): return class interface: __metaclass__=test class inter01(interface): def test(self): print "inter01" class a1(inter01): __implements__=inter01 def test(self): ok pass
Pythonのメタクラス。 メタクラスを使うと、色々できる。 PythonにはJavaのようなインターフェースはないが、 インターフェースを継承させて、 メソッドがなかったらエラーをだすようなこともできる。 class test(type): def __init__(cls,name,bases,dict): #super(test,cls).__init__(name,bases,dict) print cls print name print bases print dict if dict.has_key("__implements__"): for m in dict["__implements__"].__dict__: if m[0]!="_": print m,dict.has_key(m) class c1: def ok(self): return class interface: __metaclass__=test class inter01(interface): def test(self): print "inter01" class a1(inter01): __implements__=inter01 def test(self): ok pass Pythonでメモ化 http://kanaya.naist.jp/Zope/member/nishio/coreblog/829

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。