将对象添加到列表然后打印列表

时间:2014-03-13 13:27:09

标签: python python-3.x

我想创建对象并将在同一“会话”中创建的每个对象放在一个列表中,然后打印列表。但是当我尝试打印时,我得到了这个:[<dag.dag object at 0x0000000003156518>]

按元素循环遍历整个列表元素,但不只是打印整个列表吗?

def Create_And_Return_Object(day,list_of_temperatures):
    objekt = dag(day,list_of_temperatures) (imported class from another file)
    return objekt



def Return_List_Of_Objects(objekt):
    list_of_objects = []
    list_of_objects.append(objekt)
    return list_of_objects


def main()    
    Objekt = Create_And_Return_Object(day,list_of_temperatures)

    Objekt_list = Return_List_Of_Objects(objekt)
    print(Objekt_list)

当我打印Objekt_list时,我明白了:

[<dag.dag object at 0x0000000003156518>]

所以第一个函数应该创建并返回1个对象,它就是这样做的。

但是第二个应该将此对象从函数编号1放入列表中,然后打印整个列表。但它不会!

1 个答案:

答案 0 :(得分:1)

函数Return_List_Of_Objects 完全符合您的要求 - 它会创建一个列表,将objekt放入其中并返回它。您将返回一个包含一个dag.dag对象的列表,然后打印出来。

但是,您的dag.dag对象显然没有实现__repr____str__representation "magic methods"告诉Python如何显示实例,例如打印时您需要更新类以实现这些方法,然后在打印列表时会看到更有用的东西。

例如:

def __str__(self):
    return str(self.day) # or whatever attribute(s) seem appropriate

注意:Python将使用__repr__在容器中显示,因此如果您只实现一个,请将其设为一个!