H_juen 发表于 2022-8-14 20:30:57

大佬们这个是不是关于转义的问题?为啥会这样嘞?

如图,我想输入str1 = '~!@#$%^&*()_=-/,.?<>;:[]{}|\' 时报错了,然后我在最后一个反斜杠再加入一个反斜杠,就能成功赋值了,但是赋值出来还是两个反斜杠,这是转义了嘛?还是其他意思。然后我又在前面加了r,然后r也变成绿色了{:10_247:}这是啥情况{:10_266:}

柿子饼同学 发表于 2022-8-14 20:41:00

本帖最后由 柿子饼同学 于 2022-8-14 20:43 编辑

r包裹的字符串是原始字符串 , 即里面的转义字符都失效 , 就是它们本来的样子
两个反斜杠就是转义了>>> s = r'\t\n\d\c'
>>> s
'\\t\\n\\d\\c'
>>> #自动转义的

临时号 发表于 2022-8-14 20:43:01

用print函数打印出来,不要直接输入变量名
print(str1)

jackz007 发表于 2022-8-14 21:02:38

       行末的反斜杠必须写成2个,否则,字符串会因为缺少后引号,从而出现语法问题。

H_juen 发表于 2022-8-15 00:13:14

临时号 发表于 2022-8-14 20:43
用print函数打印出来,不要直接输入变量名

谢谢回复~

H_juen 发表于 2022-8-15 00:14:14

临时号 发表于 2022-8-14 20:43
用print函数打印出来,不要直接输入变量名

谢谢回复~

柿子饼同学 发表于 2022-8-15 10:26:07

H_juen 发表于 2022-8-15 00:13
谢谢回复~

对 因为如果在一行的行尾写反斜杠 , 就代表这一行还没结束 , 转下一行
页: [1]
查看完整版本: 大佬们这个是不是关于转义的问题?为啥会这样嘞?