Python3,关于str.format的语法

描述问题

format的用法,代码中的!r !s分别是format的哪部分用法
我查阅文档, 未能找到这部分的说明(https://docs.python.org/3/lib...

使用搜索引擎,也不知如何组织关键词

上下文环境

  1. Python3

重现

  1. 拷贝代码

  2. 运行之

相关代码

class Pair:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def __repr__(self):
        return 'Pair({0.x!r}, {0.y!r})'.format(self)
    def __str__(self):
        return '({0.x!s}, {0.y!s})'.format(self)
        
        
 >>> p = Pair(3, 4)
>>> p
Pair(3, 4) # __repr__() output
>>> print(p)
(3, 4) # __str__() output
阅读 3.8k
1 个回答

!r 就是 repr
!s 就是 str
!a 就是 ascii

Three conversion flags are currently supported: '!s' which calls str() on the value, '!r' which calls repr() and '!a' which calls ascii().

Some examples:

"Harold's a clever {0!s}"     # Calls str() on the argument first
"Bring out the holy {name!r}"  # Calls repr() on the argument first
"More {!a}"          # Calls ascii() on the argument first

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题