История изменений
Исправление AntonI, (текущая версия) :
Да, globals не универсальный, это просто пример. Ничего не мешает читать контекст сверху по стеку как ic или использовать ещё какие то варианты, вплоть до нечеткого ввода, анализа исходников из предыдущих версий гита, обращения на удаленные хосты и т.д - то, чего f-строки и близко не умеют.
Ключевым здесь является то, что % позволяет вводить имя переменной в строке ЕДИНОЖДЫ. А ещё можно ввести чего нить вроде a*= и напечатать значения всех переменных отвечающих шаблону a* - опять таки, f-строки этого не могут. И ещё 100500 вариантов.
Вы вторую страницу не можете понять такой тривиальной вещи… в % словарь указывается явно и может быть легко заменён на что угодно, в т.ч. на пользовательский эмулятор словаря. В str.format словарь указывается явно, но это может быть ТОЛЬКО словарь, что сильно ограничивает возможности. В f-строках контекст уже указан неявно, и что бы его сменить приходится плясать с eval - это напрочь убивает всю изящность f-строк.
ЗЫ str.format тоже позволяет вводить имя переменной единожды и изгалятся над контекстом - но для этого надо писать свою обертку над формат-ом которая будет ловить KeyError. А в % это все из коробки.
Исправление AntonI, :
Да, globals не универсальный, это просто пример. Ничего не мешает читать контекст сверху по стеку как ic или использовать ещё какие то варианты, вплоть до нечеткого ввода, анализа исходников из предыдущих версий гита, обращения на удаленные хосты и т.д - то, чего f-строки и близко не умеют.
Ключевым здесь является то, что % позволяет вводить имя переменной в строке ЕДИНОЖДЫ. А ещё можно ввести чего нить вроде a*= и напечатать значения всех переменных отвечающих шаблону a* - опять таки, f-строки этого не могут. И ещё 100500 вариантов.
Вы вторую страницу не можете понять такой тривиальной вещи… в % словарь указывается явно и может быть легко заменён на что угодно, в т.ч. на пользовательский эмулятор словаря. В str.format словарь указывается явно, но это может быть ТОЛЬКО словарь, что сильно ограничивает возможности. В f-строках контекст уже указан неявно, и что бы его сменить приходится плясать с eval - это напрочь убивает всю изящность f-строк.
ЗЫ str.format тоже позволяет вводить имя переменной единожды и изгалятся над контекстом - но для этого надо писать свою обертку над формат-ом которая будет ловить KeyError.
Исправление AntonI, :
Да, globals не универсальный, это просто пример. Ничего не мешает читать контекст сверху по стеку как ic или использовать ещё какие то варианты, вплоть до нечеткого ввода, анализа исходников из предыдущих версий гита, обращения на удаленные хосты и т.д - то, чего f-строки и близко не умеют.
Ключевым здесь является то, что % позволяет вводить имя переменной в строке ЕДИНОЖДЫ. А ещё можно ввести чего нить вроде a*= и напечатать значения всех переменных отвечающих шаблону a* - опять таки, f-строки этого не могут. И ещё 100500 вариантов.
Вы вторую страницу не можете понять такой тривиальной вещи… в % словарь указывается явно и может быть легко заменён на что угодно, в т.ч. на пользовательский эмулятор словаря. В str.format словарь указывается явно, но это может быть ТОЛЬКО словарь, что сильно ограничивает возможности. В f-строках контекст уже указан неявно, и что бы его сменить приходится плясать с eval - это напрочь убивает всю изящность f-строк.
ЗЫ str.format тоже позволяет вводить имя переменной единожды и изгалятся гад контекстом - но для этого надо писать свою обертку над формат-ом которая будет ловить KeyError.
Исправление AntonI, :
Да, globals не универсальный, это просто пример. Ничего не мешает читать контекст сверху по стеку как ic или использовать ещё какие то варианты, вплоть до нечеткого ввода, анализа исходников из предыдущих версий гита, обращения на удаленные хосты и т.д - то, чего f-строки и близко не умеют.
Ключевым здесь является то, что % позволяет вводить имя переменной в строке ЕДИНОЖДЫ. А ещё можно ввести чего нить вроде a*= и напечатать значения всех переменных отвечающих шаблону a* - опять таки, f-строки этого не могут. И ещё 100500 вариантов.
Вы вторую страницу не можете понять такой тривиальной вещи… в % словарь указывается явно и может быть легко заменён на что угодно, в т.ч. на пользовательский эмулятор словаря. В str.format словарь указывается явно, но это может быть ТОЛЬКО словарь, что сильно ограничивает возможности. В f-строках контекст уже указан неявно, и что бы его сменить приходится плясать с eval - это напрочь убивает всю изящность f-строк.
Исходная версия AntonI, :
Да, globals не универсальный, это просто пример. Ничего не мешает читать контекст сверху по стеку как ic или использовать ещё какие то варианты, вплоть до нечеткого ввода, анализа исходников из предыдущих версий гита, обращения на удаленные хосты и т.д - то, чего f-строки и близко не умеют.
Ключевым здесь является то, что % позволяет вводить имя переменной в строке ЕДИНОЖДЫ. А ещё можно ввести чего нить вроде a*= и напечатать значения всех переменных отвечающих шаблону a* - опять таки, f-строки этого не могут. И ещё 100500 вариантов.
Вы вторую страницу не можете понять такой тривиальной вещи… в % словарь указывается явно и может быть легко заменён на что угодно, в т.ч. на пользовательский эмулятор словаря. В str.format словарь указывается явно, но это может быть ТОЛЬКО словарь, что сильно ограничивает возможности. В f-строках контекст уже указан неявно, и сто бы его сменить приходится плясать с eval - что напрочь убивает всю изящность f-строк.