问题标签 [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 回答
1956 浏览

python - 使用 python 和 __repr__ 打印嵌套对象

我很好奇我应该如何实现一个对象的repr方法,该对象包含实现repr的其他对象。

例如(pythonish):

我必须直接调用 repr() 方法吗?我似乎不能只是连接它并让它隐式地将其转换为字符串。

0 投票
3 回答
384 浏览

python - 为集合容器定义 __str__ 和 __repr__

我一直在做一个大的任务,我几乎完成了,除了我需要帮助编写一个 Set 容器的__str____repr__函数。

我从来没有这样做过,我不知道该怎么做。在互联网上搜索,我仍然卡住了。

我试过类似的东西:

我需要打印出这样的表示:

我的元素存储在一个数组类中,我围绕它编写了 set 容器。我使用类似for item in self或的循环访问它if item in self

请帮忙?

0 投票
2 回答
3621 浏览

php - Python 的 repr() 等价于 PHP

我正在创建一个简单的数组包装类,并希望它的__toString()方法像 Python 列表一样格式化,例如:["foo", "bar", 6, 21.00002351]. 将每个元素转换为字符串是不够的,因为字符串对象实际上是在列表表示中引用的。

PHP 中是否有repr()等价物,如果没有,PHP 实现会是什么样子?

0 投票
2 回答
1661 浏览

c++ - 如何使用 SWIG 为 C++ 类提供 Python __repr__()

我观察到,当一种类型

在 Python repl 中,一个得到

当一种类型

一个被踢到帮助模式。我很确定这是因为site._Helper定义了__repr__()(对于第一个示例)和__call__() (对于第二个示例)。

我喜欢这种行为(仅提示对象和可调用语法),并且我想对通过 SWIG 导出到 Python 的 C++ 类做同样的事情。这是我尝试做的一个简单示例

当我尝试在我的应用程序中使用这个类时,我似乎无法在帮助下获得我看到的行为(下面的输出来自嵌入了 Python 的 C++ 应用程序,其中每个输入行都是通过发送的PyEval_String()):

最后的打印显示该方法__repr__()存在,但我无法使用更简单的对象引用或使用repr(tam). 我还尝试定义__str()__希望我误解了哪个会被调用,但仍然没有运气。

我尝试使用%extend接口文件中的指令将一个__str__()或一个__repr__()定义插入到 SWIG 接口定义文件中,而不是直接在 C++ 中定义它们,但无济于事。

我错过了什么?

0 投票
1 回答
296 浏览

python - 将交互式 python 中的默认 repr 从 builtins.repr 更改为 reprlib.repr

在交互式 Python 提示符下,当我不将表达式的输出绑定foo到名称时,Python 会将 的输出写入builtins.repr(foo)终端。

在较新版本的 Python 中,存在一种替代repr实现,它不会在屏幕上显示具有长字符串表示的对象,如下所示:

我可以以某种方式告诉 Python 在交互式提示中使用reprlib.repr而不是builtin.repr表示未分配的输出吗?我最好对适用于任何 Python shell 的答案感兴趣,或者对至少适用于 IPython 的答案感兴趣。

0 投票
2 回答
671 浏览

python - __repr__ 对于可以是字符串或无的属性?

给定这个简单的类:

我想知道是否有一种简单的方法可以__repr__根据 a 的类型返回不同的格式:

显然,对于单个属性,我可以测试并具有不同的输出字符串,但我认为一定有人在我之前解决了这个问题。具体来说,我有几个属性可以是字符串或无,我认为为我编写复杂的逻辑没有__repr__多大意义。

0 投票
1 回答
767 浏览

python - 有没有一种简单的方法可以让 utf8 编码字符串的子字符串,子字符串的 repr 长度小于 python 中的 N

例如我有一个字符串,我希望找到一个简单的方法来获取一个子字符串,它以utf-8编码,并且子字符串的repr的长度是<= N,当然我可以尝试N / 3个子字符串并增加N/3+1, N/3+2,...,但是有没有简单的方法呢?

谢谢!

0 投票
1 回答
2933 浏览

python - 为什么python类的对象返回地址而不是返回数据?

这是我在 Python 中的第一个程序,我正在使用一些用于登录或注册用户的 API。

这就是我的班级的样子:

我用下面的代码测试了这个类:

我得到这样的输出:

但是当我把我的测试改成这样时:

它会做的事情,我会得到我的输出,但它会执行该功能两次。

我在想问题可能出在哪里,我记得在 JAVA 中,当您忘记覆盖 toString() 时,您可以获得类似的输出。现在,我已经阅读了有关 python 等价物的信息:reprstr但首先我不知道如何从方法(不是 self.apikey 等)返回数据,其次我不是 100% 确定这是正确的获取方式我的输出,而不是地址。

0 投票
1 回答
48243 浏览

python - python 2.7.5 中的 str() 与 repr() 函数

python 2.7.5str()和函数有什么区别?repr()

python.org上的解释:

str()函数旨在返回相当人类可读的值的表示形式,同时repr()旨在生成解释器可以读取的SyntaxError表示形式(或者如果没有等效的语法将强制执行)

但这对我来说并不清楚。

一些例子:

所以我想知道以下

  1. 我应该什么时候使用str(),什么时候应该使用repr()
  2. 在哪些情况下我可以使用它们中的任何一个?
  3. 什么str()能做什么repr()不能?
  4. 什么repr()能做什么str()不能?
0 投票
4 回答
15283 浏览

python - 在 Python 中,'' 意思是?

是什么<function at 'somewhere'>意思?例子:

也许有一种方法可以使用0x7f95cf42f320?