Python中%r和%s的区别

%s和%r的区别

  • 今天看书看到了repr()方法和str()方法,才发现之前只是大致了解他们两个,并不是很深入,抱着钻研的想法深入一下

%r是用repr()方法处理对象
%s使用str()方法处理对象

例一:
print "I am %d years old." % 22
print "I am %s years old." % 22
print "I am %r years old." % 22

返回结果:
I am 22 years old.
I am 22 years old.
I am 22 years old.
另外一些情况两者就不同了
例二:
text = "I am %d years old." % 22
print "I said: %s." % text
print "I said: %r." % text

返回结果:
I said: I am 22 years old..
I said: 'I am 22 years old.'. // %r 给字符串加了单引号
再看一种情况
例三:
import datetime
d = datetime.date.today()
print "%s" % d
print "%r" % d

返回结果:
2014-04-14
datetime.date(2014, 4, 14)
  • 综上所述,%r打印时候能够表现出对象,而%s仅是字符串

以上实例转载自此处点击此处,侵删并且经过本人检验

有关reprstr的区别。Stack Overflow上面的大师已经回答的很好了,这里就不再总结了,给出连接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • %r用rper()方法处理对象 打印时能够重现它所代表的对象 %s用str()方法处理对象 有些情况下,两者处理...
    d1b0f55d8efb阅读 722评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,779评论 0 33
  • 各位老师、各位家长,下午好! 我是朱正萍,初一(3)班YY的妈妈。谢谢我们班班主任孙老师的信任和鼓励,很忐忑的...
    心理咨询师萍阅读 259评论 2 1
  • 当我想说,为何如此艰难困苦的时候。 我想到了你,感觉自己已是多么的幸福。 当我想要离开地球,环游太空的时候。 我想...
    Aomoko阅读 204评论 0 0