7得票4回答
如何使__repr__返回Unicode字符串

我在对象x上调用一个__repr__()函数: val = x.__repr__() 然后我想要把val字符串存储到SQLite数据库。问题是,val应该是unicode格式。 我尝试了以下方法但都没有成功: val = x.__repr__().encode("utf-8") 和 ...

9得票3回答
super().__repr__()和repr(super())有什么区别?

在Python(3.5.2)中,我期望repr(obj)函数调用obj类的魔法方法__repr __()。然而,调用它们似乎不会产生相同的结果。有人能解释一下为什么吗? 示例代码: class parent: def __init__(self): self.a ...

7得票3回答
如何创建一个命名元组的__repr__方法?

如何创建特殊方法__repr__,以便我可以打印例如'6 of spades'或'Q of diamonds'? 如何访问namedtuple的数据,同时记住我有一个self._cards中的namedtuple列表? import collections cards = collect...

161得票5回答
Python中repr()函数的理解

repr(): 获取对象的可评估字符串表示形式(可以通过"eval()"进行评估,这意味着它是一个可以评估为Python对象的字符串表示形式) 换句话说:>>> x = 'foo' >>> repr(x) "'foo'" 问题: 为什么我在使用 rep...

11得票4回答
列表自我递归引用

我在Python中遇到了一个非常奇怪的事情。我尝试将列表引用添加到列表本身中。下面的代码或许能更好地展示我的意思。我正在使用IDLE编辑器(交互模式)。>>>l=[1,2,3] >>>l.append(l) >>>print(l) [1,2...

11得票1回答
告诉IPython使用对象的`__str__`而不是`__repr__`来输出

默认情况下,IPython在显示一个对象时似乎使用 __repr__。 __repr__应该生成一个唯一的字符串,可以在正确的环境下用于重构一个对象。 这与__str__不同,它应该产生可读性强的输出。 现在假设我们编写了一个特定的类,并希望 IPython 默认情况下生成人类可读的输出(...

10得票1回答
一个自定义Python类的__repr__哪个更好?

看起来__repr__函数有不同的返回方式。 我有一个类InfoObj,它存储了许多东西,其中一些我不希望类的用户自己设置。我知道在Python中没有什么是受保护的,他们可以直接设置,但是在__init__中定义会使得某些人看到并认为可以随便传递。 (例如:当验证函数确定对象已经完全填充时...

33得票1回答
Python 2.7.5中的str()和repr()函数的区别

在Python 2.7.5中,str()和repr()函数有什么区别? 官方解释如下: str()函数返回的值通常是相对容易阅读的人类可读性高的表示形式,而repr()函数生成的表示形式则可以被解释器读取(或者如果没有等效语法则会导致SyntaxError) 但我并不太明白。 ...

3667得票28回答
__str__和__repr__有什么区别?

在Python中,__str__和__repr__有什么区别?

66得票3回答
__repr__() 函数的最佳输出类型和编码规范是什么?

最近,我在 __repr__()、format() 和编码方面遇到了很多麻烦。在 Python 中,__repr__() 的输出应该是被编码的还是 Unicode 字符串? 对于 __repr__() 的结果,有没有最佳的编码方式?我的输出结果包含非 ASCII 字符。 我使用的是 Pyth...