为了账号安全,请及时绑定邮箱和手机立即绑定

转义字符代码结果显示问题

>>>'Bob said \"I\'m OK\".' 

'Bob said "I\'m OK".' 

怎么回事,结果转义字符也显示出来了??

正在回答

1 回答

。。。 试了几次,也在奇怪中。。。 突然发现 是在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".      ##注意的 就是这行!!

其实就是少了 两边的引号。 请题主细细品味。。。

0 回复 有任何疑惑可以回复我~
#1

慕粉3196086 提问者

非常感谢!
2016-04-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

转义字符代码结果显示问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信