Форум сайта python.su
26
JOHN_16, да ну и пофиг, не? Возможность писать код в принципе не безопасна.
Rodegast, раньше писали в машинных кодах, потом на асме, потом на си, затем вот питон придумали… Задолбали!
Офлайн
88
Если для таких строк заведут новый тип, или интерпретироваться будут только константные значения, тогда почему бы и нет.
Офлайн
221
ZZZ
да в общем то наверное пофиг. Посмотрим. Время покажет будет ли это предпочтительнее нежели format
Shaman
ShamanВ питоне ? константы? Точно?
константные значения
Офлайн
26
JOHN_16, не будет оно предпочтительнее. Это, всё-таки, различные механизмы. Но я точно знаю места, где новый вариант будет рулить и педалить по полной. По крайней мере в своих проектах.
Офлайн
88
JOHN_16Если бы я сказал “литералы”, реакция была бы менее бурной? Да я и говорил о константных значениях, а не о константах.
В питоне ? константы? Точно?
Офлайн
221
Shaman
Да неее, не бурная она вовсе =)
Ок.
Офлайн
88
Значит мне показалось. )
Офлайн
72
ZZZsql-инъекции для примера, еще возможно отображение закрытых данных из контекста на веб странице.
SQL-инъекции? Да ладно! А сегодня с format инъекций не бывает?
ZZZОй, да ладно. Если бы я был умный тогда, как моя жена потом. Все и регулярно наступают на грабли, и от ума тут немного зависит. У всего есть отрицательные и положительные стороны, но в данном PEP, мне кажется, небольшое удобство не стоит потенциальных проблем.
Если у кого-то не хватает ума так не делать, то это, как мне кажется, не проблемы языка.
Офлайн
26
PooH, вот мне кажется, что в данном pep очень приличное удобство. Например, для написания сообщений в лог или внятных эксцепшенов – самое то! Я прямо представляю, как всё сразу станет понятнее, когда не придётся писать этот “format”.
Офлайн
857
FishHook
как работает этот формат
FishHookОна вычисляется в рантайме - то есть при каждом выполнении кода (как при обычном формате).
Что в итоге получим в списке?
>>> def f(x, n): ... return ('{0}' * n).format(x) ... >>> f(1, 2) '11' >>> f(3, 4) '3333' >>>
Офлайн