f-string Python

Синтаксис f-string позволяет использовать в строке символ обратного слеша “\” но не позволяет использовать его внутри фигурных скобок.

>>> lines = [‘line1′,’line2’]

>>> print(f’ITEMS: \n {“\n”.join(lines)}’)

SyntaxError: f-string expression part cannot include a backslash

Решения:

▫️ вынести этот символ за скобки

n = ‘\n’

print(f’ITEMS: \n{n.join(lines)}’)

▫️ заменить его на другое представление, например создавать нужный символ с помощью функции chr()

print(f’ITEMS: \n{chr(10).join(lines)}’)

Чтобы узнать код символа следует использовать функцию ord()

>>> ord(‘\n’)

10

А с юникодом не выйдет, там тоже слеш

>>> print(f’ITEMS: \n{“\u000a”.join(lines)}’)

SyntaxError: f-string expression part cannot include a backslash

#tricks

Ответить