Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 6, 2015 18:36:11

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Почему в Python нет интерполяции строк?

Ну почти есть.

from string import Template
def E(s):
    return Template(s).substitute(**globals())
>>> temp = 123
>>> E("Hello, $temp!")
'Hello, 123!'
Думаю это дзен - явное лучше неявного. В противном случае надо будет придумывать как ограничить подстановку переменных/



Офлайн

#2 Ноя. 6, 2015 19:57:03

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Почему в Python нет интерполяции строк?

Давайте не будем претворяться деревяшками и скажем прямо - интерполяции строк в питоне нет.
Не почти нет, не чуть-чуть, а вообще нет.
Вопрос другой, а нахрена они нужны. Вопрос можно поставить и более кардинально: а где она, эта интерполяция, вообще есть? На ум приходит ПХП, Скала, Коффескрипт, Перл и …? И кажись всё. Ну наверняка где-то есть, но в мейнстриме не считая убогого пыха не используется. ТСу стоило бы подумать над этим.



Офлайн

#3 Ноя. 7, 2015 00:16:19

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Почему в Python нет интерполяции строк?

FishHook
и …? И кажись всё.
Ruby, Shell

FishHook
Вопрос другой, а нахрена они нужны.
https://www.python.org/dev/peps/pep-0498/



Офлайн

#4 Ноя. 7, 2015 00:20:05

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Почему в Python нет интерполяции строк?

afiskon
Будет в будущей версии Питона. Есть PEP который был предложен для этого.
Но вот пользы от него…немного обсуждений здесь



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#5 Ноя. 7, 2015 06:00:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Почему в Python нет интерполяции строк?

JOHN_16
Будет в будущей версии Питона. Есть PEP который был предложен для этого.
Совершенно не обязательно, что будет.



Офлайн

#6 Ноя. 7, 2015 09:39:17

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Почему в Python нет интерполяции строк?

FishHook
Совершенно не обязательно, что будет.
Status: Accepted



Офлайн

#7 Ноя. 7, 2015 10:29:23

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Почему в Python нет интерполяции строк?

ZZZ
Status: Accepted

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



Офлайн

#8 Ноя. 7, 2015 11:11:43

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Почему в Python нет интерполяции строк?

О как! А почему пунктир?



Офлайн

#9 Ноя. 7, 2015 11:24:54

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Почему в Python нет интерполяции строк?

ZZZ
А почему пунктир?
Сие мне неведомо



Офлайн

#10 Ноя. 8, 2015 01:53:15

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Почему в Python нет интерполяции строк?

Пунктирная стрелка - UML-овское понятие, означающее наличие промежуточных шагов. То есть, видимо, черновик читают и сразу принимают или отказывают, а принятое либо сразу переводят на стадию реализации, либо проводят обсуждения и отказывают.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version