python中的%r是什么意思
%r
以下语句的含义是什么?
print '%r' % (1)
我想我已经听说过%s
,%d
和%f
,但从来没有听说过这一点。
回答:
背景:
在Python中,有两个内置函数可将对象转换为字符串:str
vs
repr
.。str
应该是一个易于理解的友好字符串。repr
应该包含有关对象内容的详细信息(有时,它们会返回相同的内容,例如整数)。按照惯例,如果有一个Python表达式可以转换为==的另一个对象,repr
则将返回这样的表达式,例如
>>>打印代表('hi')'hi'#注意此处的引号,而不是...
>>>打印str('hi')
你好
如果返回表达式对对象没有意义,repr
则应返回被<和>符号包围的字符串,例如<blah>
。
要回答您的原始问题:
%s
<-> <->str
%r
repr
此外:
您可以通过实现__str__
和__repr__
方法来控制自己的类的实例转换为字符串的方式。
class Foo: def __init__(self, foo):
self.foo = foo
def __eq__(self, other):
"""Implements ==."""
return self.foo == other.foo
def __repr__(self):
# if you eval the return value of this function,
# you'll get another Foo instance that's == to self
return "Foo(%r)" % self.foo
以上是 python中的%r是什么意思 的全部内容, 来源链接: utcz.com/qa/403065.html