Ich schreibe ein Python-Modul, das mehrere verschiedene Aufgaben bewältigen kann. Diese Aufgaben haben bestimmte Stücke von Codes wie folgtwiederverwendbarer Code in einem einzelnen Modul
if __name__ == '__main__:'
task == sys.argv[1]
if task =='task1':
code block1
code block2
...
if task == 'task2':
code block2
....
if task == 'task3':
some code
code block1
......
Was ist die beste Lösung ist nicht die Codeblöcke in jeder Aufgabenteilung, zu kopieren, ohne sie in Funktionen setzen, wie diese Codeblöcke viele lokale Variablen erzeugt.
update: Ich denke an etwas in Matlab, Platzierung abc.m Zeile in Ihrem Code mit dem Code in abc.m. Ich frage mich, ob es eine Möglichkeit gibt, den irgendwo im Modul gespeicherten Codeblock auszuführen, außer einer Funktion (ich bevorzuge es, alle meine Funktionen mit so wenig Nebeneffekten wie möglich zu halten)
Warum ist es ein Problem, wenn die Funktionen viele lokale Variablen generieren? Meinst du, du brauchst die Variablen außerhalb des Funktionsumfangs? Sie können sie zurückgeben. – syntonym
Warum möchten Sie sie nicht in Funktionen setzen? Das ist buchstäblich der Punkt von ihnen – casraf
Die offensichtliche Wahl sind, nun, Funktionen. Warum willst du dort keine Funktionen verwenden? Zeigen Sie uns ein konkreteres Beispiel, damit wir Ihr Problem besser verstehen können. – brandizzi