Посты с тэгом string formatting


MagicPython -- Syntax Highlighter для SublimeText

Мой приятель Юра Селиванов попросил написать рекламный пост о его новом проекте MagicPython.

Это syntax highlighter для Sublime Text и Atom, который поддерживает все новые языковые конструкции Python 3.5 (async def и await например) плюс type annotations, string formatting и регулярные выражения.

Sublime поддерживает Python из коробки, но с Python 3 (а особенно с Python 3.5) у него проблемы. MagicPython понимает всё.
Разметка шаблонов для форматирования строк и регулярок заслуживает отдельного упоминания -- выглядит прекрасно и заметно облегчает жизнь.

Я сам использую ортодоксальный Emacs (мой конфиг здесь) и переходить (пока) не собираюсь, но MagicPython работает исключительно хорошо и заслуживает доброго слова.

К слову, Юра (https://twitter.com/1st1) Py


Форматирование строк

Речь идет об обычных строках, не касаясь шаблонных движков и прочих занятностей.

  • Вы используете эту операцию по много раз на дню.
  • Вы даже предпочитаете новый стиль форматирования, использующий .format вместо %.
  • Вы знаете о форматировании всё!

Я тоже так считал, пока один случай не заставил пересмотреть своё мнение.

Думаю, эти несколько рецептов по форматированию будут интересны и полезны.

Пристегнулись? От винта! Поехали!

Конструктор

Приключения начинались довольно невинно. У меня появилось немало многострочных переменных. Для их удобного задания очень хорошо подходит функция textwrap.dedent. Она убирает общие ведущие пробелы из каждой строки текста:

def test():
    # end first line with \ to avoid the empty line!
    s = '''\
    hello
      world
    '''
    print repr(s)          # prints '    hello\n      world\n    '
    print repr(deden