(Python)为列表中的所有对象运行函数

(Python)为列表中的所有对象运行函数,python,class,Python,Class,我有一个叫做Wall的类,有一个叫做draw的函数,它在pygame屏幕上画一条线。我希望能够为所有墙对象运行“绘制”功能,而不必返回“绘制”部分。 这是这门课的代码 class Wall(): def __init__(self, Pos1, Pos2): self.name = self self.Pos1 = Pos1 self.Pos2 = Pos2 print("wall initalized") def draw(self): pygame

我有一个叫做Wall的类,有一个叫做draw的函数,它在pygame屏幕上画一条线。我希望能够为所有墙对象运行“绘制”功能,而不必返回“绘制”部分。 这是这门课的代码

class Wall():

def __init__(self, Pos1, Pos2):
    self.name = self
    self.Pos1 = Pos1
    self.Pos2 = Pos2
    print("wall initalized")

def draw(self):
    pygame.draw.line(screen, white, self.Pos1, self.Pos2, 3)
    pygame.draw.circle(screen, white, self.Pos1, 5)
    pygame.draw.circle(screen, white, self.Pos2, 5)
    print("wall drawn")

如果有所有墙对象的列表,可以执行以下操作:

for wall in list_of_walls:
    wall.draw()

您发布的代码具有不正确的缩进,并且缺少预期的使用尝试。请从后面重复一遍。你想要什么功能还不完全清楚;“绘图部分”不是出现在代码中的概念,因为您没有“部分”。我建议您仔细阅读循环和
apply
方法。然后进行有效的编码尝试。如果你有麻烦,就把情况公布出来。