我需要创建在显示器上产生定义方块的对象。我想如果我为每个对象创建一个单独的类,我将能够创建一个已经具有正确大小的类实例,并使用str来显示大小和相关的参数名称。我知道它不能按照我的方式工作,因为我无法以我这样做的方式传入参数 args,我什至没有得到合理的错误返回,但它在我将整数作为 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)
输出
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
^
所需的输出我希望能够为 Wide 创建一个类,另一个用于缩小,当我实例化时,我可以获得预定义大小的对象,当我打印它们时,我可以看到参数名称。
当你声明一个 Python 函数时,它的参数需要写成变量,而不是值。如果您想要预定义值,您必须执行以下操作:
class Wide():
def __init__(self, XfromLeftEdge, YfromTopEdge, Width, Height):
# Your code
def objOne(self, DropWatch, x = 141.0, y = 300.0, w = 1551.0, h = 800.0 ): #XfromLeftEdge, YfromTopEdge, Width, Height
return DropWatch.SetRoi(x,y,w,h)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句