Найти - Пользователи
Полная версия: Почему в Python нет интерполяции строк?
Начало » Python для новичков » Почему в Python нет интерполяции строк?
1 2 3
doza_and
Ну почти есть.
from string import Template
def E(s):
    return Template(s).substitute(**globals())
>>> temp = 123
>>> E("Hello, $temp!")
'Hello, 123!'
Думаю это дзен - явное лучше неявного. В противном случае надо будет придумывать как ограничить подстановку переменных/
FishHook
Давайте не будем претворяться деревяшками и скажем прямо - интерполяции строк в питоне нет.
Не почти нет, не чуть-чуть, а вообще нет.
Вопрос другой, а нахрена они нужны. Вопрос можно поставить и более кардинально: а где она, эта интерполяция, вообще есть? На ум приходит ПХП, Скала, Коффескрипт, Перл и …? И кажись всё. Ну наверняка где-то есть, но в мейнстриме не считая убогого пыха не используется. ТСу стоило бы подумать над этим.
py.user.next
FishHook
и …? И кажись всё.
Ruby, Shell

FishHook
Вопрос другой, а нахрена они нужны.
https://www.python.org/dev/peps/pep-0498/
JOHN_16
afiskon
Будет в будущей версии Питона. Есть PEP который был предложен для этого.
Но вот пользы от него…немного обсуждений здесь
FishHook
JOHN_16
Будет в будущей версии Питона. Есть PEP который был предложен для этого.
Совершенно не обязательно, что будет.
ZZZ
FishHook
Совершенно не обязательно, что будет.
Status: Accepted
FishHook
ZZZ
Status: Accepted

Насколько я понял PEP 1, этот статус не гарантирует переход в Final, окончательное решение принимает Гвидо, и если захочется его левой пятке, PEP отклонят.

ZZZ
О как! А почему пунктир?
FishHook
ZZZ
А почему пунктир?
Сие мне неведомо
py.user.next
Пунктирная стрелка - UML-овское понятие, означающее наличие промежуточных шагов. То есть, видимо, черновик читают и сразу принимают или отказывают, а принятое либо сразу переводят на стадию реализации, либо проводят обсуждения и отказывают.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB