%r或者{!r}在python中的意思

这两个都是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'"

更多操作值得挖掘~

你可能感兴趣的:(Python,计算机基础)