目前,我正在做“学习Python的艰难之路”一书中的练习。
虽然作者指定他的书是针对Python2.x的,但我还是设法将语法从这本书转换为Python 3标准。
不过,有件事很奇怪。在解释%r的不同用法的练习中,解释器用双引号打印一个字符串值,而其他值则用单引号打印。
我想知道原因。
下面是代码:
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和。谢谢
发布于 2016-07-09 18:46:51
“但它没有唱。”,因为这个字符串包含单引号,它被打印在双引号内。
此外,%r将插入对象的规范字符串表示(即repr(o))
要了解关于repr()的更多信息,请阅读Python3官方文档:https://docs.python.org/3/library/functions.html#repr
https://stackoverflow.com/questions/38285090
复制相似问题