Вопрос-Ответ

How can I print a single backslash?

Как я могу напечатать одну обратную косую черту?

Когда я пишу print('\') or print("\") или print("'\'"), Python не выводит символ обратной косой черты \. Вместо этого он выдает ошибку для первых двух и печатает '' для третьего. Что я должен сделать, чтобы напечатать обратную косую черту?


Этот вопрос касается создания строки, в которой есть одна обратная косая черта. Это особенно сложно, потому что это невозможно сделать с необработанными строками. Связанный с этим вопрос о том, почему такая строка представлена двумя обратными косыми чертами, см. в разделе Почему обратные косые черты появляются дважды?. О включении буквенных обратных косых черт в другие строки см. в разделе Использование обратной косой черты в python (не для экранирования).

Переведено автоматически
Ответ 1

Вам нужно экранировать обратную косую черту, поставив перед ней, да, другую обратную косую черту:

print("\\")

Символ \ называется escape-символом, который по-другому интерпретирует следующий за ним символ. Например, n сам по себе является просто буквой, но когда перед ним ставится обратная косая черта, он становится \n, который является символом перевода строки.

Как вы, вероятно, можете догадаться, \ также необходимо экранировать, чтобы он не функционировал как escape-символ. Вы должны ... по сути, экранировать escape.

Смотрите документацию по строковым литералам.

Ответ 2

Простой способ напечатать обратную косую черту, который не требует экранирования, - это передать ее символьный код в chr:

>>> print(chr(92))
\
Ответ 3
print(fr"\{''}")

или как насчет этого

print(r"\ "[0])
Ответ 4

Для полноты картины: обратная косая черта также может быть экранирована в виде шестнадцатеричной последовательности: "\x5c"; или короткой последовательности в Юникоде: "\u005c"; или длинной последовательности в Юникоде: "\U0000005c". Все это приведет к созданию строки с единственной обратной косой чертой, которую Python с радостью вернет вам в своем каноническом представлении - '\\'.

2023-04-24 14:11 python