以前学的之后,这个地方写的不好,现在优化一下。
根本含义:
{!r}
就是使用format语法时候的%r
。因此,我们只需要关注%r
就好。%r
表示的用repr()
处理;类似于的%s
表示用str()
处理一样。__repr__
函数简单的例子
>>> a = '123'
>>> b = 'hello, {!r}'.format(a)
>>> b
"hello, '123'"
上面的例子用的是format,跟直接%效果类似。
例子二
>>> a = '123'
>>> b = 'hello, %r' % a
>>> b
"hello, '123'"
这对一部分的对象还是很有用的。r直接反应对象本体。
比如说,看看下面的这个、
>>> b = 'hello, %r' % 123
>>> b
'hello, 123'
123的本体就是123。
还看下面的这个例子
>>> b = 'hello, !r' % '123'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: not all arguments converted during string formatting
>>>
!符号,这个只在fromat中有用,要注意方法。但是效果类似
>>> b = 'hello, %r' % '123'
>>> b
"hello, '123'"
>>> b = 'hello, {!r}'.format( '123')
>>> b
"hello, '123'"
更多操作值得挖掘~