首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果应该是单引号,Python 3就会出现双引号

如果应该是单引号,Python 3就会出现双引号
EN

Stack Overflow用户
提问于 2016-07-09 18:40:18
回答 1查看 66关注 0票数 0

目前,我正在做“学习Python的艰难之路”一书中的练习。

虽然作者指定他的书是针对Python2.x的,但我还是设法将语法从这本书转换为Python 3标准。

不过,有件事很奇怪。在解释%r的不同用法的练习中,解释器用双引号打印一个字符串值,而其他值则用单引号打印。

我想知道原因。

下面是代码:

代码语言:javascript
复制
formatter = " %r %r %r %r"
print (formatter % ( "I had this thing",
   "That you could type up right.",
   "But it didn't sing.",
   "So I said goodnight."))

代码运行良好,只是在解释器中,输出内容如下:

“我有这个东西”,“你可以把它打对了。”“但我没有唱歌。”“所以我说晚安。”

正如您所看到的,第三个值被打印在双引号中。怎么会这样?

我使用的是记事本++,python 3和。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-09 18:46:51

“但它没有唱。”,因为这个字符串包含单引号,它被打印在双引号内。

此外,%r将插入对象的规范字符串表示(即repr(o))

要了解关于repr()的更多信息,请阅读Python3官方文档:https://docs.python.org/3/library/functions.html#repr

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38285090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档