Что такое струны f?
f-Strings - это новый способ форматирования строк в Python 3.6 и выше. Если вы новичок в Python, f-String - отличное дополнение к миру форматирования строк Python, и к концу статьи вы узнаете почему. Но если вы уже давно используете Python, вы, должно быть, использовали один из двух старых школьных методов форматирования строк, а именно, оператор «%» или второй способ, метод format (). Несмотря на то, что эти методы все еще можно использовать в новой версии Python, вы с большей вероятностью увидите, что они используются в старых кодах Python.
Форматирование строки - очень важная концепция для изучения, поскольку она позволяет нам лучше контролировать вывод строки и то, как мы можем настроить ее в соответствии с нашими потребностями.
Прежде чем мы начнем с того, как использовать f-строки, вы должны знать, как работают другие методы форматирования и почему f-строки прекрасны!
1. Оператор ’%’
Этот метод был первым, кто присоединился к «клубу форматировщиков», хотя сейчас он не рекомендуется документами Python из-за многочисленных ошибок, которые он приносит. Вот что говорится в официальном документе:
«Операции форматирования, описанные здесь, демонстрируют множество причуд, которые приводят к ряду распространенных ошибок (например, неправильное отображение кортежей и словарей). Использование новых отформатированных строковых литералов или интерфейса str.format () помогает избежать этих ошибок. Эти альтернативы также предоставляют более мощные, гибкие и расширяемые подходы к форматированию текста ».
В этом методе для форматирования используются строки стиля C. Он объединяет переменные, заключенные в кортежи, с текстовыми строками.
Пример:
name = “Adhyantini” print(“My name is %s! ” %name)
Легко читать, правда? Вот где начинается проблема:
Пример:
first_name = “Adhyantini” last_name =”Bogawat” age = 22 profession = “Engineer‘ print(“My name is %s %s and I am %s years old. I am an %s.” %(first_name, last_name, age, profession))
Когда количество переменных увеличивается, они становятся беспорядочными, менее читаемыми и подверженными ошибкам!
2. Метод str.format ()
Этот метод сравнительно лучше первого. Метод format () помещает указанные значения в заполнители строки. Эти заполнители определяются с помощью фигурных скобок {}.
Пример 1:
name = ”Adhyantini” print(“My name is {}”.format(name))
Значения параметров метода format () могут относиться к любому типу данных и требовать хотя бы одну переменную. Параметр может быть списком переменных или списком «ключ = значение».
Пример 2:
string1 = “My name is {} and I am {} years old. I am a {}”.format("Adhyantini", 22, "Software Engineer”)
Вы можете использовать различные типы заполнителей: именованные индексы, нумерованные индексы или просто пустые заполнители, как показано в предыдущих примерах.
Пример 3:
string1 = “My name is {first_name} and I am {age} years old. I am a {profession} by profession ”.format(first_name = "Adhyantini", age=22, profession=”Software Engineer”) print(string1)
Пример 4:
string1 = “My pastime hobbies include {0} or {1}”.format(“watching movies”, “writing”) print(string1)
Несмотря на то, что из приведенных выше примеров мы видим, что это намного лучше, чем использование оператора%, он по-прежнему подвержен ошибкам, поскольку мы должны помнить правильный порядок переменных, которые необходимо поместить в соответствующий заполнитель. А для более крупных строк это приглашение к ошибкам!
И поэтому все приветствуют новый, простой и в то же время практичный метод: f-Strings!
Как использовать f-струны?
Примечание. Чтобы использовать f-строки, убедитесь, что у вас установлен Python 3.6 или более поздней версии, в противном случае вам необходимо выполнить обновление.
f-строки более или менее похожи на метод str.format (). Единственная разница здесь в том, что аргументы вставляются непосредственно в строку, а не используются заполнители. Самое приятное в этом то, что мы можем напрямую выполнять операции с переменными, что намного проще, чем если бы мы использовали метод format ().
В приведенных ниже фрагментах кода вы увидите, как использовать f-строки в различных приложениях и что делает их такими замечательными!
Чтобы сообщить Python, что мы используем f-строки, нам нужно использовать «f» перед строкой. Вот почему они известны как f-строки из-за префикса f!
1. Запуск функций и методов напрямую
first_name = “adhyantini” last_name = “bogawat” string1 = f“My name is {first_name.upper()} {last_name.upper()}” print(string1)
2. Использование строки f для печати значений словаря
person ={‘name’:’ABC’, ‘age’:23} string1 = f”My name is {person[‘name’]} and I am {person[‘age’]} years old” print(string1)
Примечание. Распространенной ошибкой здесь является использование кавычек. Обязательно используйте двойные кавычки («») для строки, а одинарные кавычки («») для доступа к свойствам словаря, чтобы избежать использования множества управляющих последовательностей во избежание конфликтов.
3. Выполнение вычислений с использованием f-строк
string1 = f“22 times 4 equals {22*4}‘ print(string1)
4. Использование F-струн в циклах вместо
for i in range (0,10): string1 = f’ Number : {i}’ print(string1)
Иногда необходимо дополнять числа нулями для определенных случаев использования или для сохранения их в базе данных. В этом случае нам просто нужно добавить «:» и указать число, которое нужно дополнить, и сколько цифр нужно дополнить.
Пример:
for i in range (0,10): string1 = f’ Number : {i:03}’ print(string1)
Ноль дополняет числа до трех цифр.
5. Использование f-строк для чисел с плавающей запятой
Чтобы вывести число с плавающей запятой с определенными цифрами после десятичной дроби, мы можем поставить «:» и указать количество цифр, которые нужно напечатать после десятичной дроби.
Пример:
pi = 3.1415926 string1 = f’Pi is equal to {pi:.4f}’ print(string1)
Здесь .4f представляет точность значения с плавающей запятой.
Как видно из выходных данных выше, значение также округлено в большую сторону!
6. Отображение даты и времени
from datetime import datetime birthday = datetime(1998,7,26) string1 = f’Date of birth(Year, Month, Date):{birthday}’ print(string1)
Как видно из вывода, дата не совсем читается. Чтобы напечатать это реальными словами, например «26 июля 1998 года», мы можем сделать следующее:
from datetime import datetime birthday = datetime(1998,7,26) string1 = f’Date of birth(Month, Date, Year) {birthday:%B %d, %Y}’ print(string1)
Заключение
Это для струнных фа! Надеюсь, вы убедились, почему f-строки такие потрясающие, и, если вам понравится, понравилась статья и задавайте любые вопросы в комментариях ниже! :)