0
我有一个简单的类我创建:如何从列表中打印对象
class C:
def __init__(self):
self.a = 1
,我想用我创建了一个功能打印从这个类对象的列表:
def p(s):
print('hi ', s)
这就是我想要打印的功能p
:p([C() for i in range(3)])
不幸的是,这产生了hi [<__main__.C object at 0x000000F92A8B9080>, <__main__.C object at 0x000000F92AB0E898>, <__main__.C object at 0x000000F92AB0E978>]
。
我认为这个问题是由于不执行__str__
,所以我改变了我的类分为:
class C:
def __init__(self):
self.a = 1
def __str__(self):
return str(self.a)
,但我得到了相同的结果:(
我希望是什么hi [1, 1, 1]
或hi 1, 1, 1
什么这样,没有对象的存储位置,我创建。
我可以使用
for i in range(3): p(C())
但我想传递一个对象列表到p
函数,而不是为我的每个对象调用它。那可能吗?
您需要实现'__repr__'的'__str__'对'list'使用'__repr__'对象包含。 –