Récupération du nom de variable d'origine dans les paramètres de fonction
En Python, il n'est généralement pas possible d'obtenir le nom de variable d'origine d'une variable passée comme un paramètre à une fonction. En effet, les appels de fonction transmettent les valeurs par référence plutôt que par nom.
Cependant, il existe une solution de contournement utilisant le module inspect. Bien qu'il ne soit pas recommandé en raison de sa complexité et de son potentiel de casse, il démontre une solution possible :
<code class="python">import inspect def foo(a, f, b): frame = inspect.currentframe() frame = inspect.getouterframes(frame)[1] string = inspect.getframeinfo(frame[0]).code_context[0].strip() args = string[string.find('(') + 1:-1].split(',') names = [] for i in args: if i.find('=') != -1: names.append(i.split('=')[1].strip()) else: names.append(i) print(names) def main(): e = 1 c = 2 foo(e, 1000, b=c) main()</code>
Sortie :
['e', '1000', 'c']
Dans cet exemple, le module inspect est utilisé pour récupérez le cadre actuel et inspectez le contexte du code, nous permettant d'extraire les noms d'arguments de l'appel de fonction. Notez que cette solution n'est pas triviale et ne doit être envisagée qu'à des fins pédagogiques.
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!