你们看到的是代表的
my_string由它的创建
__repr__()方法。如果您进行打印,则可以看到实际上有一个反斜杠,如您所愿:
>>> print(my_string)whydoesithappen?
下面的字符串中包含三个字符,而不是四个:
>>> 'a\b''a\b'>>> len('a\b')3您可以使用repr()内置函数获取字符串(或任何其他对象)的标准表示形式:>>> print(repr(my_string))'why\does\it\happen?'
Python在字符串中表示反斜杠,
\因为反斜杠是转义字符-例如,
n表示换行符和
t表示制表符。
有时这会给您带来麻烦:
>>> print("thistextisnotwhatitseems")this extisotwhatitseems因此,需要有一种方法告诉Python您确实需要两个字符n而不是换行符,并且可以通过转义反斜杠本身和另一个来做到这一点:>>> print("this\textiswhatyou\need")thistextiswhatyouneed
当Python返回字符串的表示形式时,它将起到安全的作用,转义所有反斜杠(即使它们不会成为转义序列的一部分),这就是您所看到的。但是,字符串本身仅包含单个反斜杠。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)