f-строки (форматированные строки) для новичков в Python
Эта часть в первую очередь предназначена для тех, кто плохо знаком с Python. К ним относятся математики, экономисты и т. Д., Которые хотят использовать Python в среде Jupyter. Вот краткое руководство о том, как сделать Best of Jupyter.
Если вы знакомы с более ранними версиями Python, вот мои лучшие советы о том, как перейти от .format () к этой новой:
- PEP484 охватывает как примеры, так и философию
- Более пристальный взгляд на то, как работают f-строки Python - это более глубокое техническое погружение, включающее дизассемблированный байтовый код для понимания выигрыша во времени выполнения.
Магия ф-струны
f-строки - это то, как вы должны использовать операторы печати в Python. Он довольно напоминает LaTeX в своей встроенной нотации:
Обратите внимание, как переменную name теперь можно использовать в строке. Это простой и легкий в использовании синтаксис: просто включите переменную в окружающий {}, отметив строковый тип как f-строку с помощью ‘f’ в начале.
Примечание для опытного программиста: «f» можно комбинировать с «r» для получения необработанной f-строки, которая может использоваться внутри регулярных выражений или аналогичных функций. «F» нельзя комбинировать с «u», потому что все строки Python3.6 + теперь по умолчанию являются Unicode. Это означает, что вы можете писать строки на хинди, китайском, французском, корейском и как минимум на 10 других языках.
Вы можете писать строки на хинди, китайском, французском, корейском и на любом языке, поддерживаемом Unicode.
Но почему они вообще называются форматированными строками? Потому что вы можете использовать с некоторыми классными приемами форматирования.
Упрощенное выравнивание и интервалы
Вы когда-нибудь пробовали создать такую таблицу для ведения журнала или визуализации? Расположение элементов превращается в кошмар, когда вокруг летают несколько \ t символов табуляции.
Это намного проще сделать с f-строками Python, используя оператор двоеточия «:», за которым следует оператор выравнивания и значение ширины поля.
Существует как минимум 3 оператора выравнивания: ‹для выравнивания по левому краю,› для выравнивания по правому краю и ^ для выравнивания по центру. Обратитесь к примеру кода:
У вас также есть поддержка десятичного усечения и аналогичных стандартных утилит форматирования:
Вы можете заметить здесь кое-что интересное: ширина и точность автоматически выбираются из области видимости. Это означает, что вы можете рассчитать ширину и точность, используя ширину экрана или другие входные данные из системы, и использовать их.
Полная поддержка выражений Python
Вышеупомянутое возможно только потому, что выражение внутри {} фактически оценивается, или в терминах программирования: выполняется.
Это означает, что вы можете вызывать любую функцию из этих {}.
Однако на практике вам следует избегать этого очень часто, потому что это может сильно затруднить отладку. Вместо этого сохраните возвращаемое значение из функции в переменной, а затем добавьте переменную в оператор печати fstring.
Те, кто пришел из функционального программирования, могут пропустить свои лямбда-функции. Не волнуйтесь, Python поможет вам:
Лямбда-функции в f-строках
Конец демоверсии
Хотите увидеть живую демонстрацию, в которой мы используем f-строки для исправления орфографии в Python? Проверьте функцию calculate_distance в этом сквозном руководстве
Резюме
- Строки f означают, что вы можете включать переменные и вызовы функций в свои операторы печати и т.п.
- встроенная переменная: разработчику легче читать и отлаживать
- По возможности используйте f-струны!