Форум сайта python.su
То есть можно писать:
"Hello, {0}!".format("world")
temp = "world"
"Hello, $temp!"
Офлайн
88
Есть там всё.
Офлайн
568
ShamanГде????
Есть там всё.
Офлайн
88
>>> temp = "world" >>> "Hello, {temp}!".format(**globals()) 'Hello, world!' >>>
Офлайн
Shaman
это называется “можно подпереть” а не “есть” 
Офлайн
88
Для самых привередливых её собираются впилить более полно. Недавно тут обсуждалось.
Что и зачем, не знаю. Имхо, питон идёт не туда.
Офлайн
-1
afiskonЭто не дает быдлокодерам плодить дыры
возможно в этом есть какой-то глубокий философский смысл.
Офлайн
857
afiskonА что ты называешь интерполяцией строк? Дай определение.
Почему в Python нет интерполяции строк?
Офлайн
88
Если интерпретировать только литералы, дыр не будет, но польза под вопросом.
Офлайн
20
afiskonКроме истинно объектного стиля вызова метода format() класса str, “глубокий философский смысл”, imho состоит в том, чтобы при выводе на печать не валить в одну кучу строковые литералы и переменные. А если при печати требуется указывать также и спецификации форматирования, то преимущество от такого разделения будет еще больше:
То есть можно писать:
“Hello, {0}!”.format(“world”)
Но нельзя так:
temp = “world”
“Hello, $temp!”
Честно, не холивара ради. Мне хотелось бы узнать, возможно в этом есть какой-то глубокий философский смысл.
pi = 3.14159 print('Один формат: {0:f}, другой: {1:.2f}, третий: {2:05.2f}'.format(pi, pi, pi))
Офлайн