元豪 发表于 2022-8-19 18:59:55

为什么?

本帖最后由 元豪 于 2022-11-26 13:50 编辑

谁能告诉我为什么?{:5_107:}
>>> x = {1: '\'}
SyntaxError: EOL while scanning string literal
>>> x = {1: '\\'}
>>> x
'\\'

我想让键1的值是字符串 ' \ ' , 可一个 ' \ ' 会报错 , 为什么两个 ' \ '就真变两个 '\\' 来了?{:5_94:}
我想要的效果 :
>>> x
'\'

jackz007 发表于 2022-8-19 19:13:03

本帖最后由 jackz007 于 2022-8-19 19:18 编辑

      '\' 是转义字符,需要和后续一字符构成组合,共同表达另外一个不可见特殊字符,例如:'\t'、'\n'、'\r' 等等。所以,'\' 必须写成 '\\',这是规定,就是说,'\\' 就是 '\',但不可以这样写。
      试试:
x = {1: '\\'}
print(x)

元豪 发表于 2022-8-19 19:16:10

jackz007 发表于 2022-8-19 19:13
'\' 是转义字符,所以,'\' 必须写成 '\\',这是规定,就是说,'\\' 就是 '\',但不可以这样写。
...

I 懂啊{:10_245:}

jackz007 发表于 2022-8-19 19:19:00

本帖最后由 jackz007 于 2022-8-19 19:23 编辑

元豪 发表于 2022-8-19 19:16
I 懂啊

      那你的问题又是什么?
      在 IDLE 中显示的 '\\' 实际上就是 '\'。
print(len('\\'))
      打印出来数值是几,就可以说明字符串里有几个字符。

qq1151985918 发表于 2022-8-19 20:15:10

你print一下就知道了,看起来两个\   ,实际上第一个是转义符号

月下孤井 发表于 2022-8-19 20:15:39

加个print就行了,编译器的显示机制问题
页: [1]
查看完整版本: 为什么?