F-Строки - форматирования строк в Python
avatar
7 | (offline)
❤️‍🔥Notehunter Developer
Добавлено:
Категория: Основы «Python»
Комментариев: 0

В этой статье по языку программирования Python мы поговорим с Вами о строках, а именно, об f-строках и их форматировании.

В языке Python есть 4 способа форматирования строк:

«F-строки» обеспечивают краткий и удобочитаемый способ заключить значение выражений Python в строки. В исходном коде Python форматированная строка или f-строка представляет собой литеральную строку с префиксом «f» или «F», содержащую выражения внутри фигурных скобок {}. Выражения заменяются их значениями.

Чтобы использовать форматированные строковые литералы, просто поставьте перед строкой букву «f» и заключите выражения Python в фигурные скобки.

Пример:

>>> programming_language = 'Python'
>>> percent = 100
>>> print(f'Вы считаете, что язык {programming_language} лучший? {percent}%!')
Вы считаете, что язык Python лучший? 100%!

Пример высчитывания и преобразования в строку:

>>> print(F'2 + 2 = {2 + 2}')
2 + 2 = 4

Ещё пример:

first_number = int(input('Введите число: '))
first_character = input('Введите знак: ')
second_number = int(input('Введите число: '))
second_character = input('Введите знак: ')
third_number = int(input('Введите число: '))
def calculate(first_digit, operator, second_digit):
    if operator == '+':
        return first_digit + second_digit
    if operator == '-':
        return first_digit - second_digit
    if operator == '*':
        return first_digit * second_digit
    if operator == '/':
        try:
            return first_digit / second_digit
        except ZeroDivisionError:
            print('Делить на ноль нельзя!')
print(f'{calculate(calculate(first_number, first_character, second_number), second_character, third_number)}')

Результат:

>>> Введите число: 2
>>> Введите знак: +
>>> Введите число: 2
>>> Введите знак: /
>>> Введите число: 3
1.3333333333333333

Многострочные f-строки

Многострочные f-строки (строки, которые можно оборачивать для удобства) обычно заключают в круглые скобки (в соответствии с PEP-8: все, что находится в круглых скобках, можно оборачивать).

>>> name = 'Владислав'
>>> profession = 'автор notehunter.net'
>>> affiliation = 'интернете"'
>>> message = (
...     f'Меня зовут {name}. '
...     f'Я {profession} '
...     f'в {affiliation}.'
... )
>>> print(message)

Результат:

Меня зовут Владислав. Я автор notehunter.net в интернете.

Использование однострочного if/else в f-строке.

>>> a = 10
>>> b = 5
>>> f"{a if a > b else b}"
`10`
>>> f"{a if a < b else b}"
5

Междустрочные комментарии

Выражения не должны содержать комментарии с применением октоторпа (символ «#»). В противном случае, у вас будет ошибка синтаксиса SyntaxError:

>>> print(f'2 + 2 = {4 # наверно}')
File "C:\Users\Razilator\Desktop\Courses\nth-coding\main.py", line 1
   print(f'2 + 2 = {4 # наверно}')
                                         ^
SyntaxError: f-string expression part cannot include '#'
Process finished with exit code 1

Cтроки документации и f-строки.

Форматированные строковые литералы нельзя использовать в качестве строк документации, даже если они не содержат выражений.

>>> def foo():
      f'Not a docstring'

>>> foo.__doc__ is None
True
Комментарии к статье 0
Комментариев нет
Форма добавления комментария (необходима регистрация)