Что такое струны 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-строки такие потрясающие, и, если вам понравится, понравилась статья и задавайте любые вопросы в комментариях ниже! :)