Python,返回对象属性FOR DISPLAY

时间:2015-10-11 12:55:29

标签: python class object attributes displayobject

注意:我的问题可能更多地基于编码约定而不是其他任何东西。

我正在开发一个个人项目,我正在寻找干净的“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)]

......但这似乎没有任何清洁。 这样做有一些“最佳实践”或惯例吗?

0 个答案:

没有答案