厌倦了为我的类手动实现字符串表示,我想知道是否有一种pythonic方法可以自动执行.
我希望有一个输出,涵盖类的所有属性和类名.这是一个例子:
class Foo(object):
attribute_1 = None
attribute_2 = None
def __init__(self, value_1, value_2):
self.attribute_1 = value_1
self.attribute_2 = value_2
Run Code Online (Sandbox Code Playgroud)
导致:
bar = Foo("baz", "ping")
print(str(bar)) # desired: Foo(attribute_1=baz, attribute_2=ping)
Run Code Online (Sandbox Code Playgroud)
在一些Java项目中使用Project Lombok @ToString后,我想到了这个问题.
我在 SQLAlchemy 中有一堆要定义的表__repr__。
标准约定似乎是这样的:
def __repr__(self):
return "<TableName(id='%s')>" % self.id
Run Code Online (Sandbox Code Playgroud)
这对小桌子来说都很好。但是,我有 40 多列的表格。 有没有更好的构造方法,__repr__这样我就不用手动输入大量字符串?
我的包含所有表的文件称为models.py. 一种解决方案我想到了制作方法,_create_repr_string在models.py该负责自动生成的字符串进行__repr__返回。我想知道是否有更标准的方法来创建__repr__.