【发布时间】:2020-03-26 02:42:35
【问题描述】:
我有一个在循环内创建对象的代码。该对象有一个包含不同类型对象的列表。
class A:
a = ''
def __init__(self):
pass
class B:
def __init__(self):
pass
list_of_A = list()
for i in range(3):
_b = B()
for j in range(2):
_a = A()
_b.list_of_A.append(_a)
print(len(_b.list_of_A))
输出是: 2 4 6
我的预期是: 2 2 2
我尝试在内循环末尾删除_b。但是没有用。
我应该如何确保循环创建 B 的新对象。
【问题讨论】:
-
将
list_of_A = list()移动到__init__并添加self.,即def __init__(self): self.list_of_A = list()。顺便说一句,list()可以是[]。