%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)
s意义是字符串
r意义是使用repr,而不是str
%r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户显示输出的。
本文介绍了Python中%r和%s格式符的区别及其应用场景。%r用于显示变量的原始数据,适合调试;%s则用于展示给用户的输出。通过实例展示了如何在类中定义__repr__和__str__方法来定制输出。

被折叠的 条评论
为什么被折叠?



