注意:我的问题可能更多地基于编码约定而不是其他任何东西。
我正在开发一个个人项目,我正在寻找干净的“Pythonic”方法来返回对象变量以供显示。
我目前正在实现这样的对象......
class MyChildObject(MyParentObject):
'An example object'
def __init__(self, attr_a, attr_b, attr_c):
self.attr_a = ('Attribute A', attr_a)
self.attr_b = ('Attribute B', attr_b)
self.attr_c = ('Attribute C', attr_c)
# Return a list of tuples with display names and values for each attribute
def list_attributes(self):
return [self.attr_a, self.attr_b, self.attr_c]
...(这看起来很丑陋而且完全错误)并用此显示其属性(来自MyParentObject
)......
# Displays attributes of a given object
def display_attributes(an_object):
for i, attr in enumerate(an_object.list_attributes()):
print '%s. %s: %s' % (i, attr[0], attr[1])
将我的对象的属性设置为其显示和值的元组似乎不正确。我还想过像这样设置课程......
class MyChildObject(object):
'An example object'
def __init__(self, attr_a, attr_b, attr_c):
self.attr_a = attr_a
self.attr_b = attr_b
self.attr_c = attr_c
# Return a list of tuples with display names and values for each attribute
def list_attributes(self):
return [('Attribute A', self.attr_a), ('Attribute B', self.attr_b), ('Attribute C', self.attr_c)]
......但这似乎没有任何清洁。 这样做有一些“最佳实践”或惯例吗?