Ich habe eine neue Frage für Python-Gurus.
Ich habe Funktion A, die eine Menge wiederholter Ertragsaktionen wie folgt enthält:
%Vor%so sieht es aus:
%Vor%Gibt es eine Möglichkeit, alle wiederholten Ausbeuten in Funktion zu bringen und so etwas zu tun?:
%Vor%Es ist nur ein Beispiel, aber in einer realen Anwendung ist es eine komplexere Folge von Ausbeuten, die sich mehr als einmal im Hauptgenerator wiederholt (es handelt sich also nicht um die Organisation von Ausbeuten), sondern um Untergeneratoren. Daher möchte ich Code-Duplizierung vermeiden.
Wenn Sie die neueste und beste python
(& gt; = 3.3) verwenden, gibt es die yield from
konstruieren.
Es tut genau das, was Sie wollen: Sie können eine Funktion als Untergenerator aufrufen und alles zurückgeben, was es Ihnen liefert.
Wenn Sie eine frühere Version von python
verwenden, müssen Sie dies leider manuell tun:
Sie können sie so gruppieren, um Platz zu sparen:
%Vor%