摘要:在本教程中,你将学习 Python 中的反斜杠字符,了解它作为特殊序列字符的一部分或在字符串中转义字符的用法。
Python 反斜杠简介
在 Python 中,反斜杠(\
)是一个特殊字符。如果你在另一个字符前使用反斜杠,它会改变该字符的含义。
例如t
是一个字面字符。但如果你在字母 t
前使用反斜杠字符,它就会变成制表符(\t
)。
通常,反斜杠有两个主要用途。
首先,反斜杠字符是特殊字符序列的一部分,例如制表符\t
)或换行符\n
)。
以下示例打印一个包含换行符的字符串:
print('Hello,\n World')
输出:
Hello,
World
\n
是一个字符,而不是两个字符。例如:
s = '\n'
print(len(s)) # 1
第二,反斜杠\
)用于转义其他特殊字符。
例如,如果你有一个字符串,该字符串在单引号字符串中包含一个单引号(如以下字符串所示),则需要使用反斜杠来转义单引号字符:
s = '"Python\'s awesome" She said'
print(s)
输出:
"Python's awesome" She said
f-string 中的反斜杠
PEP-498 规定,f-string(格式化字符串字面量)中的花括号 {}
内的表达式部分不能包含反斜杠字符。
以下示例将导致错误:
colors = ['red','green','blue']
s = f'The RGB colors are:\n {'\n'.join(colors)}'
print(s)
错误:
SyntaxError: f-string expression part cannot include a backslash
要解决这个问题,你需要在将 colors
列表中的字符串放入花括号 {}
之前,先对它们进行拼接:
colors = ['red','green','blue']
rgb = '\n'.join(colors)
s = f"The RGB colors are:\n{rgb}"
print(s)
输出:
The RGB colors are:
red
green
blue
原始字符串中的反斜杠
原始字符串将反斜杠字符(\
)视为字面字符。以下示例将反斜杠字符 \
视为字面字符,而非特殊字符:
s = r'\n'
print(s)
输出:
\n
总结
Python 中的反斜杠字符(
\
)是一个特殊字符,用于构成特殊序列(如\t
和\n
)。使用 Python 的反斜杠(
\
)可以在字符串中转义其他特殊字符。f-string(格式化字符串)的花括号
{}
内的表达式部分不能包含反斜杠。原始字符串将反斜杠(
\
)视为字面字符。