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 に答える