importar?re
a?=?re.compile(r'\[(. ?)\]')
alcance?=?{}
def?replace(ddd):
código?=?ddd.group(1)
prueba:
return?str (eval(código,?alcance))
excepto?SyntaxError:
exec(código,?alcance)
retorno?código
print(a.sub(reemplazar,?'[x=1],[y=2],[z=2],la?suma?de?[x],[z]?y?[y]?es ?[x y z]'))
el alcance es guardar las variables x, y, z coincidentes con expresiones regulares en variables globales y almacenarlas en variables globales;
Este libro El El caso es excepto SyntaxError: hay menos código al final, solo se proporcionan comentarios. De hecho, ya mencioné el uso de exec para asignar valores, pero no se refleja en el código. He mejorado esto y deberías poder hacerlo. para entenderlo. También existe [], y la expresión regular ha sido Reemplazar [] con valores correspondientes a x, y, z
.