当前位置: 首页 > 工具软件 > RPython > 使用案例 >

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

穆文斌
2023-12-01

简述

以前学的之后,这个地方写的不好,现在优化一下。

根本含义:

  • {!r}就是使用format语法时候的%r。因此,我们只需要关注%r就好。
  • %r表示的用repr()处理;类似于的%s表示用str()处理一样。
  • 其含义就是,转成解释器可以理解的部分。
    • 比如,数字,就变成str;str就变成带有引号的str
    • 调用其__repr__函数
    • 类似于直接用解释器或者IPython时候,直接在光标下输入变量,然后敲回车的输出。

例子

简单的例子

>>> 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'"

更多操作值得挖掘~

 类似资料: