Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5269

Re: [Python-de] Klassen rekursiv in einem Modul instantiieren

Path csiph.com!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From Florian Diesch <diesch@spamfence.net>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] Klassen rekursiv in einem Modul instantiieren
Date Tue, 09 Oct 2018 23:38:14 +0200
Lines 49
Message-ID <mailman.66.1539121496.2799.python-de@python.org> (permalink)
References <c3736ae4-6baa-4147-9e97-4ef6a6b243ba@googlegroups.com> <4bd9e504569f3d9b89f7ad4f28ef35fd@spamfence.net>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 8bit
X-Trace news.uni-berlin.de tIToKW2HjrU+DyLanDcvFwdoom9TfgiUSG2up5MobClw==
Return-Path <diesch@spamfence.net>
X-Original-To python-de@python.org
Delivered-To python-de@mail.python.org
In-Reply-To <c3736ae4-6baa-4147-9e97-4ef6a6b243ba@googlegroups.com>
X-Sender diesch@spamfence.net
X-BeenThere python-de@python.org
X-Mailman-Version 2.1.29
Precedence list
List-Id Die Deutsche Python Mailingliste <python-de.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-de>, <mailto:python-de-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-de/>
List-Post <mailto:python-de@python.org>
List-Help <mailto:python-de-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-de>, <mailto:python-de-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <4bd9e504569f3d9b89f7ad4f28ef35fd@spamfence.net>
X-Mailman-Original-References <c3736ae4-6baa-4147-9e97-4ef6a6b243ba@googlegroups.com>
Xref csiph.com de.comp.lang.python:5269

Show key headers only | View raw


Am 2018-10-09 22:29, schrieb Philipp Kraus:
> In der algorithm.py ist eine Basis Klasse implementiert, die die
> Klasse in foo.py ableitet, somit ist jede Klasse unterhalb von
> algorithm immer von der Klasse Algorithm in algorithm.py abgelietet.
> Ich möchte jetzt in der __main__.py einmal rekursiv über alle *.py
> Dateien in algorithm durch gehen und aus jeder *.py Datei die Klasse
> instantiieren
> 
> Ich brauche so etwas
> 
> l = []
> for i in getAllKlasse_in_algorithm():
>       if i instaceof Algorithm
>          l.append(i())


Ich würde das über eine Metaklasse machen, die die Klassen in einer 
Liste sammelt:


algo_list = []

class AlgoMeta(type):

     def __init__(cls, name, bases, adict):
         type.__init__(cls, name, bases, dict)
         algo_list.append(cls)


class Algorithm(metaclass=AlgoMeta):
     pass

class A(Algorithm):
     pass

class B(A):
     pass

class C(Algorithm):
     pass




print(algo_list)



Back to de.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

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