<div dir="ltr"><div>Buenas,</div><div><br></div><div>Creo conveniente leer esto antes que nada <a href="http://lucumr.pocoo.org/2016/12/29/careful-with-str-format/">http://lucumr.pocoo.org/2016/12/29/careful-with-str-format/</a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mar., 16 jul. 2019 a las 7:27, Sergio Fernández (<<a href="mailto:sergio@wikier.org">sergio@wikier.org</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>Un f-string es código, no un string. Yo no seguiría ese camino... es una mala idea y potencialmente un riesgo.</div><div dir="auto"><br></div><div dir="auto">¿Por qué no seguir con Jinja?</div></div></blockquote><div><br></div><div>Correcto, son potencialmente un riesgo, pero como ponen en el ejemplo sobre todo porque implican extender string.Formatter y que incluso el código que no use f-strings puede verse afectado por el cambio :-O</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Mon, Jul 15, 2019, 20:05 AGTUGO <<a href="mailto:agtugo@gmail.com" rel="noreferrer" target="_blank">agtugo@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Dada la evaluación dentro de los f-strings, parece natural reemplazar los lenguajes de plantillas, como Jinja2 con f-string, con simplemente unos ajustes, excepto:<div><br></div></div></blockquote></div></div></div></blockquote><div><br></div><div>No, no resulta natural reemplazar un lenguaje de plantillas por algo que no te ofrece una sandbox, sentencias de control, separación entre el parseo del template (se realiza una sola vez y se cachea) y su uso, template loaders personalizables,...</div><div><br></div><div>Otra cosa es que en tu caso particular no utilices casi nada de lo que te ofrece el sistema de plantillas y puedas quitarte una dependencia extra. Pero creo que sería un caso bastante alejado de la norma.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>Convertir de manera limpia los strings a f-strings. </div><div><br></div><div>La única manera que he encontrado es usar eval, ¿Alguien tiene una idea mejor? </div></div></blockquote></div></div></div></blockquote><div><br></div>Usar string.Formatter, pero si y solo si no te vas a disparar en el pié al hacerlo.<br><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>Resultado deseado = void hola{ std::cout << "hola\n"};<br></div><div>F-string para generarlo = f"void{saludo}{{std::cout << "{saludo}\n"}};"</div><div>Ejemplo Jinja = void {{saludo}}{std::cout <<"{{saludo}}\n"};"</div><div><br></div><div><div>-- <br><div dir="ltr" class="gmail-m_9126593523836216245m_7604598789469492473m_876513942182835777gmail_signature">Arturo Muñoz</div></div></div></div>
_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" rel="noreferrer noreferrer" target="_blank">Python-es@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-es" rel="noreferrer noreferrer noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
</blockquote></div>
</div></div>
_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-es" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
</blockquote></div></div>