gpt4 book ai didi

python - 持久对象和 __repr__

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:54 26 4
gpt4 key购买 nike

处理持久化对象的 __repr__() 函数的最佳方法是什么?例如,表示数据库中的一行(关系或对象)。

根据 Python 文档,__repr__() 应该返回一个字符串,该字符串将使用 eval() 重新创建对象,这样(大致)eval( repr(obj)) == obj,或用于不精确表示的括号表示法。通常这意味着将对象无法重新生成的所有数据转储到字符串中。然而,对于持久对象,重新创建对象可能就像从数据库中检索数据一样简单。

那么,对于这样的对象,所有对象数据还是 __repr__() 字符串中的主键?

最佳答案

repr should return a string that would re-create the object with eval

这对于像 int 或 string 或 float 这样的简单类型是合法的,但不适用于具有 15 列以上的多列 DB 对象

例如,如果我有一个代表价格的类,那么让 __repr__ 显示它的主要特征是合理的:金额和货币

def __repr__(self):
return '%s %s'%(self.amount,self.currency)

关于python - 持久对象和 __repr__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4131768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com