我创建了一个可以用不同方式初始化的类。根据它的初始化方式,它将具有一个属性(数据)或另外两个(输入,输出)和一些可选的属性。编写 repr 方法以更普遍地处理所有可能性的最简单方法是什么?
这是我第一次基于this advice的尝试:
def __repr__(self):
# Compose a string representation of the object
s = []
try:
if self.data is not None:
s.append("data=%s" % self.data.__repr__())
except AttributeError:
s.append("inputs=%s" % self.inputs.__repr__())
s.append("outputs=%s" % self.outputs.__repr__())
try:
if self.name is not None:
s.append("name=%s" % self.name.__repr__())
except AttributeError:
pass
return "MLPTrainingData(" + ", ".join(s) + ")"
我猜这是一个常见的问题,可能有更好的方法......