我想创建对象并将在同一“会话”中创建的每个对象放在一个列表中,然后打印列表。但是当我尝试打印时,我得到了这个:[<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放入列表中,然后打印整个列表。但它不会!
答案 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__
在容器中显示,因此如果您只实现一个,请将其设为一个!