背景:
strvs
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)