Проблема: при использовании тройных кавычек внутри функций приходится либо ломать отступы кода, либо получать лишние пробелы в строке. d-строки автоматически удаляют общий ведущий отступ.
def example():
query = d"""
SELECT *
FROM users
WHERE active = true
"""
# query не содержит лишних пробелов слева
Работает аналогично
textwrap.dedent(), но на уровне синтаксиса — без вызова функции и накладных расходов в рантайме.Можно комбинировать с f-строками:
df"""...""" для шаблонов с подстановкой переменных.PEP пока в статусе Draft, целевая версия — Python 3.15.
@zen_of_python