您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python中的%r是什么意思

python中的%r是什么意思

背景:

在Python中,有两个内置函数可将对象转换为字符串:strvsrepr.。str应该是一个易于理解的友好字符串。repr应该包含有关对象内容的详细信息(有时,它们会返回相同的内容,例如整数)。按照惯例,如果有一个Python表达式可以转换为==的另一个对象,repr则将返回这样的表达式,例如

>>>打印代表('hi')
'hi'#注意此处的引号,而不是...
>>>打印str('hi')
你好

如果返回表达式对对象没有意义,repr则应返回被<和>符号包围的字符串,例如<blah>

要回答您的原始问题:

%s<-> <->str%rrepr

此外:

您可以通过实现__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 2022/1/1 18:28:37 有217人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶