@AlmazKayum

Как правильно работают F строки в переменной?

Здравствуйте.
У меня есть строка string1 = '{title} added. Which add more?'
Она храниться в БД.
Как сделать переменную string1 F строкой, чтобы переменная title заработала?

Я пробовал так
string1 = '{title} added. Which add more?'
title = 'blabla'
print(f'{string1}')

Но так не работает. title отображается не переменной, а текстом.

Надо обычную строку переделать в F строку в переменной.
  • Вопрос задан
  • 894 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
string1.format(title=title)
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@zx5zx6
string1 = f'{title} added. Which add more?'
Ответ написан
Комментировать
LazyTalent
@LazyTalent
Data Engineer, Freelancer
>>> def makef(nonf: str) -> str:
...     return eval(f'f"{nonf}"')
... 
>>> title = 'name'
>>> s = 'some {title}'
>>> print(makef(s))
some name

Но надо быть очень аккуратным и валидировать всё что приходит из БД
Ответ написан
@alekssamos
Программист любитель
>>> title = "asd"
>>> string1 = f'{title} added. Which add more?'
>>> print(string1)
asd added. Which add more?

И это работает. Можно и без format.
Только если в string1 данные вводит пользователь, может быть проблема, он может ввести не предназначенные, т.е. скрытые переменные, например, key, token, password, что-нибудь такое. Так что здесь аккуратней.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы