0
을 초과했습니다. 그래서 일부 디자인 패턴 책에 약간의 여유가 있었고 Python으로이 책을 작성하기로 결정했습니다.이 책은 제가이 문제를 발견했습니다. 해결할 수 없네, 내가 뭘 놓치고 있니?Python Composing Desing Pattern - RecursionError : 최대 재귀 깊이가
여기 왜 재귀 오류가 발생합니까?
class Component:
_components = []
def __init__(self, value):
self.value = value
def add(self, *components):
self._components.extend(components)
def remove(self, *components):
self._components = list(set(self._components).difference(set(components)))
def get_components(self):
return self._components
def __repr__(self):
return "Component value: {}".format(self.value)
class ComputerComponent(Component):
def turn_on(self):
self.on = True
for component in self.get_components():
component.turn_on()
print("{} turned on".format(self.value))
class Computer(ComputerComponent):
pass
class LCDScreen(ComputerComponent):
pass
class Mouse(ComputerComponent):
pass
class Keyboard(ComputerComponent):
pass
computer = Computer("computer")
lcd_screen = LCDScreen("lcd_screen")
mouse = Mouse("mouse")
keyboard = Keyboard("keyboard")
computer.add(lcd_screen,mouse,keyboard)
computer.turn_on()