Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5270
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: Klassen rekursiv in einem Modul instantiieren |
| Date | 2018-10-10 00:08 +0200 |
| Organization | None |
| Message-ID | <ppj8td$qjg$1@gioia.aioe.org> (permalink) |
| References | <c3736ae4-6baa-4147-9e97-4ef6a6b243ba@googlegroups.com> |
Philipp Kraus wrote: > Ich brauche so etwas > > l = [] > for i in getAllKlasse_in_algorithm(): > if i instaceof Algorithm > l.append(i()) > > Wie komme ich an alle Klasse dran. Später sollen noch weitere Submodule / > Klassen hinzu kommen und ich möchte im Grunde in der __main__.py eine > generische Routine haben, die einfach alles einlist Nachdem alle Sub-Module importiert sind, kannst du __subclasses__() rekursiv aufrufen (bei entsprechender Klassenhierarchie sind Dopplungen möglich). >>> class A: pass ... >>> class B(A): pass ... >>> class C(B): pass ... >>> A.__subclasses__() [<class '__main__.B'>] >>> B.__subclasses__() [<class '__main__.C'>] >>> def subclasses(cls): ... yield cls ... for c in cls.__subclasses__(): ... yield from subclasses(c) ... >>> list(subclasses(A)) [<class '__main__.A'>, <class '__main__.B'>, <class '__main__.C'>]
Back to de.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Klassen rekursiv in einem Modul instantiieren Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-10-09 13:29 -0700
Re: [Python-de] Klassen rekursiv in einem Modul instantiieren Florian Diesch <diesch@spamfence.net> - 2018-10-09 23:38 +0200
Re: Klassen rekursiv in einem Modul instantiieren Peter Otten <__peter__@web.de> - 2018-10-10 00:08 +0200
Re: Klassen rekursiv in einem Modul instantiieren Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-10-09 22:21 -0700
Re: Klassen rekursiv in einem Modul instantiieren Peter Otten <__peter__@web.de> - 2018-10-10 10:32 +0200
Re: [Python-de] Klassen rekursiv in einem Modul instantiieren Hartmut Goebel <h.goebel@goebel-consult.de> - 2018-10-10 09:29 +0200
Re: [Python-de] Klassen rekursiv in einem Modul instantiieren Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-10-10 09:51 -0700
csiph-web