Мне нужно создать объекты, которые создают определенные квадраты на дисплее. Я подумал, что если я сделаю отдельный класс для каждого объекта, я смогу создать экземпляр класса, который уже будет иметь правильный размер, и использовать str , чтобы показать, какие размеры и соответствующие имена параметров. Я знаю, что это не работает так, как я это делаю, поскольку я не могу передать аргументы параметра так, как я это делаю, я даже не получаю разумного возврата ошибки, но он не работает в строке, где у меня ints переданы как args в методе для 'objOne'.
Код:
class Wide():
def __init__(self, DW, XfromLeftEdge, YfromTopEdge, Width, Height):
self.XfromLeftEdge = XfromLeftEdge
self.YfromTopEdge = YfromTopEdge
self.Width = Width
self.Height = Height
def objOne(self, DW, 141.0, 300.0, 1551.0, 800.0 ): #XfromLeftEdge, YfromTopEdge, Width, Height
return DW.SetRoi(141.0,300.0,1551.0,800.0)
def __repr__(self):
return '{}, {}, {}, {}'.format(
self.XfromLeftEdge = XfromLeftEdge,
self.YfromTopEdge = YfromTopEdge,
self.Width = Width,
self.Height = Height)
def __str__(self):
return 'instance object of box, XfromLeftEdge:{},YfromTopEdge: {}, Width:{}, Height:{}'.format(
self.XfromLeftEdge = XfromLeftEdge,
self.YfromTopEdge = YfromTopEdge,
self.Width = Width,
self.Height = Height)
class Narrow():
def __init__(self, DW, XfromLeftEdge, YfromTopEdge, Width, Height):
self.XfromLeftEdge = XfromLeftEdge
self.YfromTopEdge = YfromTopEdge
self.Width = Width
self.Height = Height
def objOne(self, DW, 141.0, 300.0, 141.0, 800.0 ): #XfromLeftEdge, YfromTopEdge, Width, Height
return DW.SetRoi(141.0,300.0,141.0,800.0)
def __repr__(self):
return '{}, {}, {}, {}'.format(
self.XfromLeftEdge = XfromLeftEdge,
self.YfromTopEdge = YfromTopEdge,
self.Width = Width,
self.Height = Height)
def __str__(self):
return 'instance object of box, XfromLeftEdge:{},YfromTopEdge: {}, Width:{}, Height:{}'.format(
self.XfromLeftEdge = XfromLeftEdge,
self.YfromTopEdge = YfromTopEdge,
self.Width = Width,
self.Height = Height)
a = Wide()
print(a)
Ouptput
SyntaxError: invalid syntax
(base) user % /usr/local/bin/python3 "/Users/.../Desktop/.../play_a.py"
File "/Users/.../Desktop/.../play_a.py", line 9
def objOne(self, DropWatch, 141, 300, 1551, 800 ): #XfromLeftEdge, YfromTopEdge, Width, Height
^
Желаемый результат Я хотел бы иметь возможность создать класс для широкого, другой для узкого, и когда я создаю один из них, я могу получить объекты предопределенного размера, и когда я их распечатаю, я могу увидеть имена параметров.