问题标签 [repr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
165 浏览

python - 打印不使用临时 __str__() 或 __repr__() 方法

我在 Python 3.4 中遇到问题,希望得到任何帮助和/或解释:

基本上我有一个类,该类的函数应该返回另一个类的实例,但使用修改后的字符串表示,以便我以后可以 print() 该实例并查看该函数中添加的 Stuff。

我不明白的是,即使我似乎能够更改该实例的strrepr方法, print() 仍将使用原始表示。

这是一个简化的示例,基本上显示了我尝试过的内容:

有人可以向我解释一下吗?谢谢你们的时间,伙计们!

编辑:忘记输出,对不起:

编辑:感谢 Martijn Pieters 的解释!

我现在得到了我想要的输出:

0 投票
1 回答
967 浏览

python - 有人可以解释如何使用 repr 函数来格式化输出吗?

我想要以下代码:

要更改的输出:

更好的东西,比如:

Python 文档有一个很好的例子,我似乎无法理解它是如何工作的。

此代码来自 Python 的文档:https ://docs.python.org/2/tutorial/inputoutput.html

非常感谢您对此repr函数的工作原理以及如何合并它的简单解释,因为我在查看文档或其他类似问题时只会看到胡言乱语。

TIA

0 投票
4 回答
2022 浏览

python - 如何遍历类似于 PHP 的 foreach 函数的 python 数组/对象

我是 Python 新手,很抱歉问了这么一个简单的问题。

我正在破解一个具有 Array(?) 的脚本,我可以使用以下命令打印它:

repr(Interfaces.log_manager.job_log[user_id]))给我:

我知道想要总结括号中的第二个值并获得括号中第三个值的最小值和最大值。

在 PHP 中,这可以通过 foreach 实现……在 Python 中是如何完成的?

我的结果应该/将是:

非常感谢任何帮助

谢谢

0 投票
1 回答
10851 浏览

python - Python中的反向repr函数

如果我有一个带有字符 ( 0x61 0x62 0xD) 的字符串,则repr该字符串的函数将返回'ab\r'.

有没有办法做反向操作:如果我有字符串'ab\r'(带字符0x61 0x62 0x5C 0x72),我需要获取字符串0x61 0x62 0xD

0 投票
2 回答
4267 浏览

python - python在__repr__方法中的单独行中返回字典

我需要使用repr方法返回在类中生成的字典,并且我希望它在单独的行中返回。

有什么办法可以做到吗?

预期的:

我得到了什么:

因为我不能使用“pprint”,所以我不知道是否还有其他方法可以做到。

0 投票
0 回答
43 浏览

python - Python 字典(或其他无序容器)和 __str__ 和 __repr__:包含的元素以什么顺序打印?

如果我有一个 python 字典(或集合,或其他类型的无序容器)并且我调用它,我可以期待哪个键和/__str____repr__值的顺序?

当然,正如“无序容器”这个名称所指出的,所包含的元素没有特定的顺序。然而,如果包含的元素以任意顺序打印,这种任意顺序至少是持久的吗?

  1. 容器的字符串表示是否总是相同的(假设我没有更改容器或其元素的任何内容)?或者第 n 次调用__repr____str__在某些时候会改变打印元素的顺序?

  2. 如果我重新创建具有相同内容的字典(可能在不同的机器上)会发生什么情况,打印元素的顺序是否仍与以前相同?

编辑:为什么这个问题被标记为重复?我不是在问为什么顺序是任意的。我问字符串表示是否是持久的。这可能不仅仅取决于底层的哈希机制。

0 投票
2 回答
3019 浏览

python - Python 在使用 __repr__ __str__ 时打印内存地址而不是列表?

我的任务是创建一个包含变量 self.list 的“Set”类,并能够通过编写__repr__and__str__方法来打印和 str() 对象。第二个文件(driver1.py),一个“驱动程序文件”创建一个 Set 对象并尝试调用 print(str(set_object)) 和 print(set_object) 但两个调用都只打印内存地址Set.Set instance at 0x1033d1488>或其他位置。我该如何改变?我希望它以表格形式打印出 set_object 的内容{1,2,3}

这是我更新缩进后的完整代码。

类集:

为什么我会收到错误消息:

0 投票
1 回答
173 浏览

python - 如何直接使用 `str.format` 作为 `__repr__`?

假设我想调试一个带有属性的简单类myattribute。我创建了一个repr这样的方法:

感觉有点多余,所以我宁愿format直接使用:

...但这失败了IndexError: tuple index out of range. 我理解它format无法访问self论点,但我不明白为什么。

我是不是做错了什么,这是 CPython 的限制——还是别的什么?

0 投票
2 回答
187 浏览

python - 在 Python 中将 __repr__ 与搁置模块一起使用

我正在为搁置模块编写一个包装类,我打算像字典一样使用它。这是代码:

在我使用“字典中的键”这个表达之前,一切似乎都很好。这是一个示例会话:

我究竟做错了什么?

0 投票
1 回答
958 浏览

python - python3中eval(repr(object))的相等性测试失败

这是__repr__一个名为的类中的方法Grid

unittest我已经在一个模块中放置了一些基本测试,以检查是否eval可以在没有失败的情况下进行相等测试,看起来像这样:

现在,这是测试报告(我已将此测试与其他测试分开):

断言异常消息让我更加困惑。不Grid(3, 4) != Grid(3, 4)应该是False吗?