Когда я пишу print('\') or print("\") или print("'\'"), Python не выводит символ обратной косой черты \. Вместо этого он выдает ошибку для первых двух и печатает '' для третьего. Что я должен сделать, чтобы напечатать обратную косую черту?
Этот вопрос касается создания строки, в которой есть одна обратная косая черта. Это особенно сложно, потому что это невозможно сделать с необработанными строками. Связанный с этим вопрос о том, почему такая строка представлена двумя обратными косыми чертами, см. в разделе Почему обратные косые черты появляются дважды?. О включении буквенных обратных косых черт в другие строки см. в разделе Использование обратной косой черты в python (не для экранирования).
Переведено автоматически
Ответ 1
Вам нужно экранировать обратную косую черту, поставив перед ней, да, другую обратную косую черту:
print("\\")
Символ \ называется escape-символом, который по-другому интерпретирует следующий за ним символ. Например, n сам по себе является просто буквой, но когда перед ним ставится обратная косая черта, он становится \n, который является символом перевода строки.
Как вы, вероятно, можете догадаться, \ также необходимо экранировать, чтобы он не функционировал как escape-символ. Вы должны ... по сути, экранировать escape.
Простой способ напечатать обратную косую черту, который не требует экранирования, - это передать ее символьный код в chr:
>>> print(chr(92)) \
Ответ 3
print(fr"\{''}")
или как насчет этого
print(r"\ "[0])
Ответ 4
Для полноты картины: обратная косая черта также может быть экранирована в виде шестнадцатеричной последовательности: "\x5c"; или короткой последовательности в Юникоде: "\u005c"; или длинной последовательности в Юникоде: "\U0000005c". Все это приведет к созданию строки с единственной обратной косой чертой, которую Python с радостью вернет вам в своем каноническом представлении - '\\'.