我试图理解<!DOCTYPE html>
<html lang="en">
<p>test</p>
</html>
的机制。
想象一下,我有几个班级__import__(fromlist=['MyClass'])
:
WhiteBox
我正在使用class WhiteBox:
def __init__(self):
self.name = "White Box"
self.color = None
def use(self, color):
self.paint(color)
def paint(self, color):
self.color = color
语句导入这些类。
我决定用相同的颜色重新绘制所有框并创建一个循环:
__import__(fromlist=['WhiteBox'])
当我尝试访问for box in imported_boxes:
box.WhiteBox().use = "green"
print("REPAINTED:", box.WhiteBox().name, box.WhiteBox().color)
属性时,我仍然会获得box.WhiteBox().color
。
None
我希望REPAINTED: WhiteBox None
允许操纵对象,就像它被实例化一样,它似乎不是真的。我该如何解决这个问题?
答案 0 :(得分:3)
使用正在使用&#34;使用&#34;作为一个属性,但它定义为一个函数:
box = box.WhiteBox() = "green"
#change it to:
box.WhiteBox().use("green")
下一个问题:
您正在反复创建WhiteBox,因此它始终具有初始无值...
box.WhiteBox().use("green") #created once
print("REPAINTED:", box.WhiteBox().name, box.WhiteBox().color) #two more times...