f-Strings доступні в Python 3.6 і дуже корисні для форматування рядків:
>>> n='you'
>>> f'hello {n}, how are you?'
'hello you, how are you?'
Детальніше про них читайте у f-Strings Python 3: Удосконалений синтаксис форматування рядків (посібник) . Я знайшов цікавий зразок:
Зауважте, що використання потрійних дужок призведе до того, що у рядку будуть лише поодинокі дужки:
>>> f"{{{74}}}" '{74}'Однак ви можете отримати більше брекетів, щоб показати, якщо ви використовуєте більше, ніж потрійні брекети:
>>> f"{{{{74}}}}" '{{74}}'
І саме так:
>>> f'{74}'
'74'
>>> f'{{74}}'
'{74}'
Тепер, якщо ми проходимо від двох {до трьох, результат такий же:
>>> f'{{{74}}}'
'{74}' # same as f'{{74}}' !
Тож нам потрібно до 4! ( {{{{), щоб отримати два дужки як вихід:
>>> f'{{{{74}}}}'
'{{74}}'
Чому це? Що відбувається з двома дужками, щоб Python з цього моменту вимагав додаткового?
f'{2+2}'повертає 4, f'{{2+2}}'повертає 2 + 2, f'{{{2+2}}}'➝ {4}, f'{{{{2+2}}}}'➝ {{2 + 2}} тощо. Це має сенс, але головоломки трохи з першого погляду.
f'{74}'це те саме, що f'74'.
str.formatробить це теж.
"{74}".format(...)зажадала б послідовність із щонайменше 74 елементами.
f"{{2+2}}"таf"{{{2+2}}}", які є'{2+2}'і'{4}'відповідно