variable replacement print middle imprimir python string variables

replacement - string python



¿Cómo obtener el valor de una variable dado su nombre en una cadena? (4)

Esta pregunta ya tiene una respuesta aquí:

Para simplificar, esta es una versión simplificada de lo que quiero hacer:

def foo(a): # I want to print the value of the variable # the name of which is contained in a

Sé cómo hacer esto en PHP:

function foo($a) { echo $$a; } global $string = "blah"; // might not need to be global but that''s irrelevant foo("string"); // prints "blah"

Alguna forma de hacer esto?



Si se trata de una variable global, puede hacer lo siguiente:

>>> a = 5 >>> globals()[''a''] 5

Una nota sobre las diversas soluciones "eval": debe tener cuidado con eval, especialmente si la cadena que está evaluando proviene de una fuente potencialmente no confiable; de ​​lo contrario, podría terminar borrando todo el contenido de su disco o algo así si te dan una cadena maliciosa

(Si no es global, necesitará acceso al espacio de nombres en el que esté definido. Si no lo tiene, no podrá acceder a él).


>>> string = "blah" >>> string ''blah'' >>> x = "string" >>> eval(x) ''blah''


>>> x=5 >>> print eval(''x'') 5

tada!