这两个都是python的转译字符, 类似于%r, %d,%f
有过c语言基础的朋友应该会比较容易上手吧?
简单的例子
>>> 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 "" , 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'"
更多操作值得挖掘~