Les homologues Compact() et Extract() de PHP en Python
La fonction compact() de PHP assemble une table de hachage avec des valeurs correspondant à la table de symboles spécifiée noms, et extract() inverse ce processus. Bien que Python fournisse locals(), globals() et vars(), il lui manque un mécanisme intégré pour isoler une partie de ces valeurs.
Implémentation de Compact()
Si vous le souhaitez, vous pouvez implémenter un équivalent Python de compact() comme suit :
<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() en Python
Tentative de création d'un extrait () en Python n’est pas conseillé. Les interpréteurs Python précédents permettaient une solution de contournement, mais dans les versions modernes, cela ne fonctionne plus.
Perspective de Python
L'utilisation de compact() et extract() est généralement déconseillée dans Python, car il va à l'encontre des principes pythoniques d'explicitation, de simplicité et de clarté. Cependant, ces fonctions peuvent avoir des applications de niche dans le débogage, l'analyse post-mortem ou la création de variables dynamiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!