Maison >développement back-end >Tutoriel Python >Comment puis-je créer et attribuer dynamiquement des valeurs à des variables en Python à l'aide de variables de chaîne ?

Comment puis-je créer et attribuer dynamiquement des valeurs à des variables en Python à l'aide de variables de chaîne ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-29 00:39:13809parcourir

How Can I Dynamically Create and Assign Values to Variables in Python Using String Variables?

Assignation de variable à partir d'une variable chaîne

En Python, l'attribution d'une valeur à un nom de variable peut être réalisée directement. Cependant, il peut arriver que vous ayez une variable chaîne contenant le nom de variable souhaité et que vous souhaitiez créer une nouvelle variable avec ce nom et sa valeur correspondante.

Scénario :

Considérez la situation suivante :

foo = "bar"
foo = "something else"   
# What I actually want:    
bar = "something else"

Dans cet exemple, attribuer "quelque chose d'autre" à foo écrase la valeur de foo. Cependant, l'intention est de créer une nouvelle variable nommée bar et de lui attribuer "quelque chose d'autre".

Solution : Utiliser exec()

Pour accomplir cette tâche, La fonction exec() de Python peut être utilisée. exec() évalue le code Python de manière dynamique. En combinant la variable chaîne avec l'instruction d'affectation souhaitée et en la transmettant à exec(), vous pouvez effectivement créer une nouvelle variable.

>>> foo = "bar"
>>> exec(foo + " = 'something else'")
>>> print bar
something else
>>> 

Dans cet extrait :

  • foo " = 'something else'" construit l'instruction d'affectation pour créer la variable bar.
  • exec() évalue cette instruction de manière dynamique, ce qui entraîne la création et l'affectation de bar.

Cette méthode fournit un moyen flexible de créer dynamiquement des variables basées sur des valeurs de chaîne.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn