--- layout: post title: f-строки в Python. image: /img/python.png tags: [python, f-strings] --- f-строки делают очень простую вещь — они берут значения переменных, которые есть в текущей области видимости, и подставляют их в строку. В самой строке вам лишь нужно указать имя этой переменной в фигурных скобках. ```python name = "Дмитрий" age = 25 print(f"Меня зовут {name} Мне {age} лет.") Меня зовут Дмитрий. Мне 25 лет. ``` f-строки также поддерживают расширенное форматирование чисел: ```python from math import pi print(f"Значение числа pi: {pi:.2f}") Значение числа pi: 3.14 ``` С помощью f-строк можно форматировать дату без вызова метода strftime(): ```python from datetime import datetime as dt now = dt.now() print(f"Текущее время {now:%d.%m.%Y %H:%M}") Текущее время 24.02.2017 15:51 ``` Они поддерживают базовые арифметические операции. Да, прямо в строках: ```python x = 10 y = 5 print(f"{x} x {y} / 2 = {x * y / 2}") 10 x 5 / 2 = 25.0 ``` Позволяют обращаться к значениям списков по индексу: ```python planets = ["Меркурий", "Венера", "Земля", "Марс"] print(f"Мы живим не планете {planets[2]}") Мы живим не планете Земля ``` А также к элементам словаря по ключу: ```python planet = {"name": "Земля", "radius": 6378000} print(f"Планета {planet['name']}. Радиус {planet['radius']/1000} км.") Планета Земля. Радиус 6378.0 км. ``` Причем вы можете использовать как строковые, так и числовые ключи. Точно также как в обычном Python коде: ```python digits = {0: 'ноль', 'one': 'один'} print(f"0 - {digits[0]}, 1 - {digits['one']}") 0 - ноль, 1 - один ``` Вы можете вызывать в f-строках методы объектов: ```python name = "Дмитрий" print(f"Имя: {name.upper()}") Имя: ДМИТИРИЙ ``` А также вызывать функции: ```python print(f"13 / 3 = {round(13/3)}") 13 / 3 = 4 ``` f-строки очень гибкий и мощный инструмент для создания самых разнообразных шаблонов. Со всеми возможностя f-строк вы можете ознакомится в PEP498.