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

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

9得票2回答
如何使用 __repr__ 从中创建新对象?

这是我不太明白的一件事情。我正在尝试使用__repr__从输出中创建一个新对象。 我有一个包含列表和组织方法的类 OrderedSet。 该类的str方法是 def __str__(self): s = "Set contains: " for elem in self....

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

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

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

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

75得票9回答
“%r”是什么意思?

在下面的语句中,%r 是什么意思?print '%r' % (1) 我知道%s、%d和%f,但从没有听说过这个。

91得票2回答
为什么反斜杠会出现两次?

当我创建一个包含反斜杠的字符串时,它们会被复制:>>> my_string = "why\does\it\happen?" >>> my_string 'why\\does\\it\\happen?' 为什么?

7得票2回答
Django:分配ForeignKey - 无法获取类的repr

我在这里提出这个问题,因为在我的搜索中,这个错误通常与查询相关,而不是ForeignKey分配。 我遇到的错误发生在模型的一个方法中。以下是代码: class Deal(models.Model): ...model_fields... def _update_exis...

21得票3回答
我们如何获取__repr__()的默认行为?

如果有人在Python中编写一个类,但未指定他们自己的__repr__()方法,则会为其提供一个默认值。然而,假设我们想编写一个具有与默认__repr__()相同或类似行为的函数。但是,即使类的实际__repr__()被重载,我们仍希望此函数具有默认__repr__()方法的行为。也就是说,假...

224得票12回答
访问对象内存地址

当你在Python中调用object.__repr__()方法时,会返回类似于以下的内容:<__main__.Test object at 0x2aba1c0cf890> 除了调用super(Class, obj).__repr__()并通过正则表达式提取之外,是否有其他方法可以...

7得票1回答
IPython和Python之间的输出差异

据我了解,Python会打印输出的repr,但显然并非总是如此。例如: 在IPython中: In [1]: type([]) Out[1]: list In [2]: set([3,1,2]) Out[2]: {1, 2, 3} 在Python中: >>> ty...