format的用法,代码中的!r
!s
分别是format的哪部分用法
我查阅文档, 未能找到这部分的说明(https://docs.python.org/3/lib...
使用搜索引擎,也不知如何组织关键词
Python3
拷贝代码
运行之
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
PHP中文网2017-04-18 09:41:25
!r
就是 r
epr!s
就是 s
tr!a
就是 a
scii
현재 세 가지 변환 플래그가 지원됩니다. 값에 대해 str()을 호출하는 '!s', repr()을 호출하는 '!r', ascii()를 호출하는 '!a'.
몇 가지 예:
"해롤드는 영리해요 {0
!s
}" # 논쟁에 대해str()
을 먼저 호출합니다
"성스러운 {이름!r
}을 꺼내세요" # 논쟁에 대해repr()
을 먼저 호출합니다
"추가 {!a
}" # 인수에 대해ascii()
을 먼저 호출합니다