如何传递隐式参数

时间:2013-11-01 15:05:54

标签: python python-3.x syntax

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

我有一堂课说

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'。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分: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)