Skip to content

Instantly share code, notes, and snippets.

@mivade
Last active January 15, 2022 21:14
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mivade/0de05ed4131b2e5eeee539d2d2af8119 to your computer and use it in GitHub Desktop.
Save mivade/0de05ed4131b2e5eeee539d2d2af8119 to your computer and use it in GitHub Desktop.
class Manager(object):
classes = set()
class Meta(type):
def __new__(cls, name, bases, d):
print("name:", name, "\nbases:", bases, "\ndict: ", d)
if name is not "Base":
Manager.classes.add(d['data'])
return type.__new__(cls, name, bases, d)
class Base(object, metaclass=Meta):
data = None
class ClassA(Base):
data = 'a'
class ClassB(Base):
data = 'b'
if __name__ == "__main__":
print(Manager.classes)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment