转义字符代码结果显示问题
>>>'Bob said \"I\'m OK\".'
'Bob said "I\'m OK".'
怎么回事,结果转义字符也显示出来了??
>>>'Bob said \"I\'m OK\".'
'Bob said "I\'m OK".'
怎么回事,结果转义字符也显示出来了??
2016-04-17
。。。 试了几次,也在奇怪中。。。 突然发现 是在IDLE 中。。。这也是个有意思的问题,我在初次接触 IDLE 的时候也有意思,后来就司空见惯了,就忘了。。。
这个可就不好解释了, 用例子说明吧:
>>> a='I\'m sorry! ' >>> a "I'm sorry! " ## 解释, a 用 单引号定义字符串,且里面包含有 单引号, 我们定义的时候用了转义符,但是在IDLE 中表示 ## 时 系统自动用了双引号,避免了表示 转义符。 >>> b= 'Bob said " I\'m sorry".' >>> b 'Bob said " I\'m sorry".' ## 解释, 同样用单引号定义字符串, 里面包括两个双引号, 一个单引号, IDLE 表示的时候,用了一个转义符 ## 恰好 跟我们定义的时候一样。 >>> c= "Bob said \" I'm sorry\"." >>> c 'Bob said " I\'m sorry".' ## 解释, 这次我们用 双引号定义字符串, 字符串里面同样包含两个双引号 和 一个单引号, 定义是我们必须 ## 转义其中的两个双引号, 但是IDLE 表示的时候 却用了单引号表示字符串, 同时转义了其中的单引号。 ## 到此 我们能找到规律了, IDLE 表示 字符串的时候 会 尽量少使用转义符,而灵活变化
上面我们一直用 IDLE“表示”字符串, 那是因为在IDLE 中,我们直接写变量名的时候 IDLE 会自动输出其值,
并且跟 print 变量时有所不同,代码如下:
>>> c= "Bob said \" I'm sorry\"." >>> c 'Bob said " I\'m sorry".' ##注意其与下面print 的时候的不同 >>> print c Bob said " I'm sorry". ##注意的 就是这行!!
其实就是少了 两边的引号。 请题主细细品味。。。
举报