2017-10-04 2 views
0

내가 만든 클래스의 인스턴스가 생성 될 때마다 다른 객체가 보유한 객체 목록에 객체를 추가하려고합니다.이 예제에서 새 개체를 목록에 추가하려면 어떻게합니까?

class Something: 
    def __init__(self): 
     self.canvas = [] 
    def create_bum(self, name): 
     MyInstance(name) 
    def spank_all(self): 
     for butt in self.canvas: 
      print ("You spanked " + butt.name) 

class MyInstance: 
    def __init__(self, name): 
     self.name = name 
     Something.canvas.append(self) # How do I do this? 

foo = Something() 
foo.create_bum("bob") 
foo.create_bum("alice") 
foo.spank_all() 
+0

... 엉덩이 두드림 프로그램을. 흥미 롭 군. – Steampunkery

답변

2

잘못된 위치에 한 줄만 넣으면됩니다. 다음과 같이 당신의 create_bum 함수를 수정 : 당신은 다음 MyInstance 클래스의 __init__ 함수에서 다음 줄을 제거 할 수 있습니다

def create_bum(self, name): 
    self.canvas.append(MyInstance(name)) 

:

Something.canvas.append(self) 
관련 문제