如何在Python中自动将Triangle类实例添加到列表中?
解决方法
直接在Triangle类的__init__方法里加一行代码,把当前创建的实例(也就是self)追加到list_triangles列表中就行——因为每次创建类的实例时,__init__方法都会自动执行,刚好能完成自动添加的需求。
修改后的完整代码:
list_triangles = [] class Triangle: def __init__(self, h, w): self.h = h self.w = w # 新增该行,自动将当前实例加入列表 list_triangles.append(self) a = Triangle(5,6) b = Triangle(3,3) # 验证结果,打印列表可看到所有Triangle实例 print(list_triangles)
你之前考虑的for循环思路并不适用,因为实例是你手动按需创建的(比如a、b),循环没法提前预知你要创建多少个、什么时候创建实例,而在__init__里追加是最贴合需求的方式——只要创建实例,就自动触发添加操作。
内容的提问来源于stack exchange,提问作者thicccjk
相关产品推荐
相关产品推荐

