---
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.