print "It write: %s." % qprint "It write: %r." % q这二者有什么区别吗?
2 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
%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)
Cats萌萌
TA贡献1805条经验 获得超9个赞
s意义是字符串
r意义是使用repr,而不是str
%r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户显示输出的。在《笨办法学习Python(第三版)》中有详细说明
比如
>>> print '%s, %s'%('one', 'two') one, two >>> print '%r, %r'%('one', 'two')'one', 'two'
个人习惯还是喜欢用format方法
添加回答
举报
0/150
提交
取消