提问人:paulo01 提问时间:6/7/2023 更新时间:6/7/2023 访问量:21
更改嵌套类中的属性值
Change attribute value in nested classes
问:
我面临着一个我无法解决的小问题。我有一个上层类,其中包含来自下层类的对象列表作为属性。我想从上层类的函数修改下级类对象的属性。
这是我的代码:
class Leaf:
def __init__(self, size = None, color = None):
self.size = size
self.color = color
class Tree:
def __init__(self):
self.leafs = []
self.leafs.append(Leaf(size=1))
self.leafs.append(Leaf(size=2))
def change_color(self):
self.leafs[0].color = 'blue'
self.leafs[1].color = 'green'
oak = Tree()
print(oak.leafs[0].color)
我希望显示“蓝色”,但它显示“无”。
你们知道如何解决这个问题吗?print(oak.leafs[0].color)
答:
3赞
user2390182
6/7/2023
#1
您永远不会调用更改颜色的函数:
oak = Tree()
oak.change_color() # <- !!
print(oak.leafs[0].color)
# blue
评论
oak.change_color()
?