0

我不确定这是否是提出问题的正确方法,但它就是这样。

我有一堂课说

class T_shape(Shape):
    def __init__(self, center):
         coords = [Point(center.x - 1, center.y),
                   Point(center.x,     center.y),
                   Point(center.x + 1, center.y),
                   Point(center.x,     center.y + 1)]
    Shape.__init__(self, coords, 'yellow')
    self.center_block = self.blocks[1]

这个类已经被别人编码了,我只是想问一下传递参数的正确方法是什么。中心是这种情况是像 (3,4) 这样的元组。但是当我尝试以这种方式直接传递它时,它说“元组”对象没有属性“x”。

任何帮助,将不胜感激。

4

1 回答 1

2

我不确定是什么样的对象center,或者 T_shape 构造函数期待什么?但是你可以用 namedtuple 来实现。

from collections import namedtuple
center = namedtuple('center', ['x', 'y'], verbose=True)
center = center(x=3,y=4)
t_shape = T_Shape(center)
于 2013-11-01T15:09:57.737 回答