您好,匿名用户
随意问技术百科期待您的加入

python什么情况下用 %r,什么情况下用 %s?

0 投票

看代码的时候一头雾水,不清楚什么情况下使用:

print "It write: %s." % q
print "It write: %r." % q

这二者有什么区别吗?

用户头像 提问 2013年 9月7日 @ 我和小伙伴们都惊呆了 上等兵 (156 威望)
取消隐藏 2013年 11月23日 @Saber
分享到:

1个回答

0 投票
 
最佳答案

%r是repr
%s就是str

比如\x27是单引号

>>> print '%r'%'\x27' # 带括号的单引号
"'" 
>>> print '%s'%'\x27' # 纯单引号
'
>>> class Example(object): 
...     __repr__ = lambda cls: '<Demo>(repr)'
...     __str__  = lambda cls: '<Demo>(str)'
... 
>>> example = Example()
>>> print '%s'%example
<Demo>(str)
>>> print '%r'%example
<Demo>(repr)
用户头像 回复 2013年 11月23日 @ Sona 上等兵 (306 威望)
选中 2013年 9月7日 @我和小伙伴们都惊呆了
提一个问题:

相关问题

0 投票
1 回复 27 阅读
用户头像 提问 2013年 11月14日 @ Cancer 上等兵 (211 威望)
+1 投票
1 回复 27 阅读
0 投票
1 回复 32 阅读
用户头像 提问 2014年 1月5日 @ Trundle 上等兵 (301 威望)
0 投票
1 回复 41 阅读
0 投票
1 回复 28 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...