Skip to content

Instantly share code, notes, and snippets.

@shomah4a
Created March 19, 2012 14:56
Show Gist options
  • Save shomah4a/2115251 to your computer and use it in GitHub Desktop.
Save shomah4a/2115251 to your computer and use it in GitHub Desktop.
メタクラスと継承ツリーの検証
import traceback
class MetaClassA(type):
pass
class MetaClassAA(MetaClassA):
pass
class MetaClassB(type):
pass
class MetaClassAB(MetaClassA, MetaClassB):
pass
class BaseMetaA(object):
__metaclass__ = MetaClassA
class BaseMetaAA(object):
__metaclass__ = MetaClassAA
class BaseMetaB(object):
__metaclass__ = MetaClassB
class BaseMetaAB(object):
__metaclass__ = MetaClassAB
class DerivedAAA(BaseMetaA, BaseMetaAA):
pass
print type(DerivedAAA)
try:
class DerivedAB(BaseMetaA, BaseMetaB):
pass
except Exception, e:
traceback.print_exc()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment