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

python - __repr__() 在 python 中的正确用法?

我有一个容器类,我想用它来打印其中的所有元素。

我想将它们打印到文件或控制台。

我已经将元素 ( ) 和容器类布局Patch如下,并且__repr__(self).
我不确定我是否理解它的目的,__repr__()并且想知道这里的用法是否可以。

它按预期工作,但请评论样式/用法是否正常。

0 投票
3 回答
1129 浏览

python - Python style repr for char * buffer in c?

for the most part I work in Python, and as such I have developed a great appreciation for the repr() function which when passed a string of arbitrary bytes will print out it's human readable hex format. Recently I have been doing some work in C and I am starting to miss the python repr function. I have been searching on the internet for something similar to it, preferably something like void buffrepr(const char * buff, const int size, char * result, const int resultSize) But I have ha no luck, is anyone aware of a simple way to do this?

0 投票
1 回答
270 浏览

python - 在对象字典上调用 str

我有一个像这样的对象字典 {'name1':oject_instance_1,'name2':oject_instance_2,'name3':oject_instance_3} 在我的对象类定义中,我定义__str__() method了方法和__repr__()方法,如下所示:

如果重要的话 self.id 是一个字符串,self.genes 是一个列表,self.length 是一个 int

问题是当我去打印这本字典时,我得到:

但是像这样循环打印

工作正常。

任何想法为什么?谢谢!

0 投票
2 回答
328 浏览

string - 在 Python 中,如何打印包含大数字的字典而不在大数字后插入“L”?

我有一本字典如下

执行 str(d) 或 repr(d) 会导致以下输出

如何在不向数字添加 L 的情况下获取 str、repr 或 print 以显示字典?

我正在使用 Python 2.7

0 投票
1 回答
74 浏览

python - 处理长表示字符串

你会如何处理长__repr__字符串?有最佳实践吗?可以说我有以下内容。

在表示字符串中添加换行符是否有用?

0 投票
1 回答
2433 浏览

python - Python重音坟墓的坏习惯?

repr(x)我最近了解到,我们可以在 Python中使用以下内容作为简写:

但是,我在实践中很少看到这种情况。它被认为是不好的做法还是不合时宜的?或者还有什么其他原因很少使用它?

0 投票
2 回答
1484 浏览

python - __repr__ 与 repr

这两种方法有区别吗?

例如,

他们似乎做同样的事情,但为什么有人要使用后者而不是常规的 repr?

0 投票
2 回答
1297 浏览

python - 这个具有“更好” __repr__() 的抽象基类是否危险?

让我感到__repr__()困扰的是,一个类的默认值是如此无信息:

...所以我一直在考虑如何改进它。经过一番考虑,我想出了这个利用pickle协议__getnewargs__()方法的抽象基类:

这是其用法的一个简单示例:

...以及由此产生的repr()行为:

现在,我可以看到 Python 在默认情况下不立即执行此操作的一个原因 - 要求每个类定义一个__getnewargs__()方法比期望(但不要求)它定义一个__repr__()方法更加繁琐。

我想知道的是:它有多危险和/或脆弱?副手,我想不出任何可能出错的地方,除非一个Repro实例包含自己,你会得到无限递归......但这是可以解决的,代价是使上面的代码更丑陋。

我还错过了什么?

0 投票
3 回答
19916 浏览

python - __repr__() 返回非字符串

所以我有一个类方法,我想用它来绘制字典及其值:

如果是这样,我会得到想要的输出:

但也是一个 Traceback 错误。

如果我返回值而不是打印出来,我只会得到这个:

如果我制作一个自定义方法而不是默认的“系统”方法,它工作正常......(我需要它是默认的)

0 投票
2 回答
2359 浏览

python - Python eval(repr(object)) - 无效的语法

我正在乱搞一副牌。我有一个问题,我读过 eval(repr(object)) 应该等同于对象堆栈溢出主题

我为我的卡片实现了两个类,一个 Card 类和一个 Deck 类。每个都有一个 repr 方法,我试图在该方法中尽可能接近实际创建对象的语法。Card and Deck的init和repr代码:

这是错误:

我只是猜测这是因为 Card 类的表示方式。我试图用 {!r} 代替 {!s} 但它并没有改变它。我只是在考虑硬编码它属于 Card 类的事实,但我希望有一些特定的方式可以做到这一点。

解决:只需要在.__name__后面加上self.__class__并使用 {!s} (以便删除引号)而不是 {!r}