当前位置: 首页 > 面试题库 >

python中的%r是什么意思

柯昆
2023-03-14
问题内容

%r以下语句的含义是什么?

print '%r' % (1)

我想我已经听说过%s%d%f,但从来没有听说过这一点。


问题答案:

背景:

在Python中,有两个内置函数可将对象转换为字符串:strvs
repr.。str应该是一个易于理解的友好字符串。repr应该包含有关对象内容的详细信息(有时,它们会返回相同的内容,例如整数)。按照惯例,如果有一个Python表达式可以转换为==的另一个对象,repr则将返回这样的表达式,例如

>>>打印代表('hi')
'hi'#注意此处的引号,而不是...
>>>打印str('hi')
你好

如果返回表达式对对象没有意义,repr则应返回被<和>符号包围的字符串,例如<blah>

要回答您的原始问题:

%s<-> <->str
%rrepr

此外:

您可以通过实现__str____repr__方法来控制自己的类的实例转换为字符串的方式。

class Foo:

  def __init__(self, foo):
    self.foo = foo

  def __eq__(self, other):
    """Implements ==."""
    return self.foo == other.foo

  def __repr__(self):
    # if you eval the return value of this function,
    # you'll get another Foo instance that's == to self
    return "Foo(%r)" % self.foo


 类似资料:
  • 问题内容: 我正在阅读http://docs.python.org/2/library/re.html。按此在蟒re.compile(以下简称“R” - [R “模式标志”)是指原始字符串符号: 解决方案是将Python的原始字符串表示法用于正则表达式模式。反斜杠在以’r’开头的字符串文字中不会以任何特殊方式处理。所以r“ \ n”是一个包含’'和’n’的两个字符的字符串,而“ \ n”是一个包含

  • 问题内容: 我试图在Python 3.3中使用旧的库(可追溯至2003年!)。当我导入它时,Python抛出错误,因为源文件中有符号,例如: 我猜这是该语言现在被放弃的标志。 它到底是什么意思,我应该用哪个(较新的)符号代替? 问题答案: 这意味着不等于。它取自(python的前身)此处: 订单测试(表示 “不等于” ) 我相信它是从Pascal那里获得的,Pascal是Guido开始使用的语言。

  • 问题内容: 嗨,我遇到了以下代码 这到底是怎么回事?我不确定“&”在做什么。 问题答案: 回答 该符号是按位与运算符。与1一起使用时,基本上会屏蔽该值以提取最低位,换句话说,它将告诉您该值是偶数还是奇数。 有关Python运算符的更多信息 有关更多信息,请参见:http : //wiki.python.org/moin/BitwiseOperators 为什么检查奇数与偶数比较有效 编辑:添加此部

  • 问题内容: 我尝试搜索互联网,但找不到可哈希的含义。 当他们说物体是什么或什么意思? 问题答案: 从Python词汇表中: 如果对象的哈希值在其生命周期内始终不变(需要一个方法),并且可以与其他对象进行比较(需要一个方法),则该对象是可哈希的。比较相等的可哈希对象必须具有相同的哈希值。 散列性使对象可用作字典键和set成员,因为这些数据结构在内部使用散列值。 Python的所有不可变内置对象都是可

  • 问题内容: 我在golang的zlib / reader.go文件中找到了很多代码片段。这是什么意思? https://golang.org/src/compress/zlib/reader.go 的PS源代码和。 io:https: //golang.org/src/io/io.go平板:https : //golang.org/src/compress/flate/inflate.go 问题答

  • 问题内容: , :在Python 中做什么? 在这种情况下是什么意思? 问题答案: 简而言之,它遍历组合在一个元组中的可迭代元素(如列表)以及索引号: 版画 如果你要遍历一个序列(或其他可迭代的事物),并且还希望有一个索引计数器,这将很有帮助。如果你希望计数器从其他值(通常为1)开始,则可以将其作为第二个参数。