PHPs Compact()- und Extract()-Gegenstücke in Python
PHPs Compact()-Funktion stellt eine Hashtabelle mit Werten zusammen, die der angegebenen Symboltabelle entsprechen Namen, und extract() kehrt diesen Prozess um. Während Python locals(), globals() und vars() bereitstellt, fehlt ihm ein integrierter Mechanismus zum Isolieren eines Teils dieser Werte.
Implementierung von Compact()
Bei Bedarf können Sie ein Python-Äquivalent von compact() wie folgt implementieren:
<code class="python">import inspect def compact(*names): caller = inspect.stack()[1][0] # caller of compact() vars = {} for n in names: if n in caller.f_locals: vars[n] = caller.f_locals[n] elif n in caller.f_globals: vars[n] = caller.f_globals[n] return vars</code>
Extract() in Python
Versuch, einen Extrakt zu erstellen ()-Funktion in Python ist nicht empfehlenswert. Frühere Python-Interpreter ermöglichten eine Problemumgehung, aber in modernen Versionen funktioniert sie nicht mehr.
Pythons Perspektive
Von der Verwendung von compact() und extract() wird im Allgemeinen abgeraten Python, da es den pythonischen Prinzipien der Deutlichkeit, Einfachheit und Klarheit zuwiderläuft. Diese Funktionen können jedoch Nischenanwendungen beim Debuggen, bei der Post-Mortem-Analyse oder bei der Erstellung dynamischer Variablen haben.
Das obige ist der detaillierte Inhalt vonWie repliziere ich die PHP-Funktionalität „compact()' und „extract()' in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!