问题标签 [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.
python - __repr__() 在 python 中的正确用法?
我有一个容器类,我想用它来打印其中的所有元素。
我想将它们打印到文件或控制台。
我已经将元素 ( ) 和容器类布局Patch
如下,并且__repr__(self)
.
我不确定我是否理解它的目的,__repr__()
并且想知道这里的用法是否可以。
它按预期工作,但请评论样式/用法是否正常。
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?
python - 在对象字典上调用 str
我有一个像这样的对象字典
{'name1':oject_instance_1,'name2':oject_instance_2,'name3':oject_instance_3}
在我的对象类定义中,我定义__str__() method
了方法和__repr__()
方法,如下所示:
如果重要的话 self.id 是一个字符串,self.genes 是一个列表,self.length 是一个 int
问题是当我去打印这本字典时,我得到:
但是像这样循环打印
工作正常。
任何想法为什么?谢谢!
string - 在 Python 中,如何打印包含大数字的字典而不在大数字后插入“L”?
我有一本字典如下
执行 str(d) 或 repr(d) 会导致以下输出
如何在不向数字添加 L 的情况下获取 str、repr 或 print 以显示字典?
我正在使用 Python 2.7
python - 处理长表示字符串
你会如何处理长__repr__
字符串?有最佳实践吗?可以说我有以下内容。
在表示字符串中添加换行符是否有用?
python - Python重音坟墓的坏习惯?
repr(x)
我最近了解到,我们可以在 Python中使用以下内容作为简写:
但是,我在实践中很少看到这种情况。它被认为是不好的做法还是不合时宜的?或者还有什么其他原因很少使用它?
python - __repr__ 与 repr
这两种方法有区别吗?
例如,
他们似乎做同样的事情,但为什么有人要使用后者而不是常规的 repr?
python - 这个具有“更好” __repr__() 的抽象基类是否危险?
让我感到__repr__()
困扰的是,一个类的默认值是如此无信息:
...所以我一直在考虑如何改进它。经过一番考虑,我想出了这个利用pickle
协议__getnewargs__()
方法的抽象基类:
这是其用法的一个简单示例:
...以及由此产生的repr()
行为:
现在,我可以看到 Python 在默认情况下不立即执行此操作的一个原因 - 要求每个类定义一个__getnewargs__()
方法比期望(但不要求)它定义一个__repr__()
方法更加繁琐。
我想知道的是:它有多危险和/或脆弱?副手,我想不出任何可能出错的地方,除非一个Repro
实例包含自己,你会得到无限递归......但这是可以解决的,代价是使上面的代码更丑陋。
我还错过了什么?
python - __repr__() 返回非字符串
所以我有一个类方法,我想用它来绘制字典及其值:
如果是这样,我会得到想要的输出:
但也是一个 Traceback 错误。
如果我返回值而不是打印出来,我只会得到这个:
如果我制作一个自定义方法而不是默认的“系统”方法,它工作正常......(我需要它是默认的)
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}