Play with classes
Jacek Generowicz
jacek.generowicz at cern.ch
Thu Feb 26 07:18:56 EST 2004
Jacek Generowicz <jacek.generowicz at cern.ch> writes:
> ======================================================
> class TypeA: pass
> class TypeB: pass
> class TypeC: pass
> class SubtypeA: pass
> class SubtypeB: pass
>
> collect_bases = [(Mode, Type, Subtype)
> for Mode in [ModeA, ModeB]
> for Type in [TypeA, TypeB, TypeC]
> for Subtype in [SubtypeA, SubtypeB]]
>
> count = 0
> for bases in collect_bases:
> name = "UserClass%d" % count
> the_class = type(name, bases, {})
> globals()[name] = the_class
> count += 1
> ======================================================
Oooops, the first 4 lines got lost:
======================================================
__metaclass__ = type
class ModeA: pass
class ModeB: pass
class TypeA: pass
class TypeB: pass
class TypeC: pass
class SubtypeA: pass
class SubtypeB: pass
collect_bases = [(Mode, Type, Subtype)
for Mode in [ModeA, ModeB]
for Type in [TypeA, TypeB, TypeC]
for Subtype in [SubtypeA, SubtypeB]]
count = 0
for bases in collect_bases:
name = "UserClass%d" % count
globals()[name] = type(name, bases, {})
count += 1
======================================================
More information about the Python-list
mailing list