У меня есть класс Point
. Его метод __init__
проверяет, есть ли точка на холсте черепахи. Если он обнаружит, что он уже есть, мне нужно предотвратить дальнейшее выполнение init.
points = []
class Point():
def __init__(self, pen, points=points):
self.x = pen.xcor()
self.y = pen.ycor()
for point in points:
if point == (self.x, self.y, pen):
# here, I need to stop __init__ from executing
return True# this raises an error, but does not stop
#the function the way I want
points.append((self.x, self.y, pen))
self.pen = pen
self.get()
point1 = Point(p)
Вот что я получаю:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
point1 = Point(p)
TypeError: __init__() should return None, not 'bool'