Строка и её запись
Текстовый литерал можно ограничить одинарными или двойными кавычками. Символы внутри становятся содержимым строки, а внешние кавычки обозначают её границы. Пустая строка "" не равна строке с одним пробелом " ".
Задание источника
Нужно вывести сообщение:
The file "user's_config.json" was not found.
В нём есть и апостроф, и двойные кавычки. Один из рабочих вариантов использует внешние одинарные кавычки и экранирует внутренний апостроф:
print('The file "user\'s_config.json" was not found.')
Почему это работает
Двойные кавычки вокруг имени файла не конфликтуют с одинарными внешними. Последовательность \' обозначает один символ апострофа в содержимом, а не конец литерала. Обратный слеш в этом месте не выводится.
Альтернативная запись с внешними двойными кавычками экранирует двойные внутренние:
print("The file \"user's_config.json\" was not found.")
Обе программы дают один и тот же текст. Это разные записи одного значения, а не два разных сообщения.
Что проверить
Нельзя начинать обычный литерал одной кавычкой, а заканчивать другой. Если нужный символ совпадает с внешним ограничителем, его следует экранировать или выбрать иной внешний ограничитель. Пробелы, подчёркивание, точка расширения и завершающая точка сообщения тоже входят в результат и должны сохраниться.
Упражнение лишь печатает строку: оно не открывает, не ищет и не создаёт файл с указанным именем. Название файла здесь — учебные текстовые данные.
Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Упражнение сохранено; разбор адаптирован.