我想定义一个点,然后定义一个由三个点组成的数组作为一个类。根据下面的定义,我可以做到这一点,而且它是有效的:
a = [POINT(0,0) for i in range(4)]
但我希望能够做到这一点:
a = THREEPOINTS()
然后这样做:
a[2].x = 7
a[2].y = 3
我的尝试在下面,但不起作用。有没有办法定义一个数组类
class POINT:
def __init__(self, x, y):
self.x = x
self.y = y
class THREEPOINTS:
def __init__(self):
self = [POINT(0,0) for i in range(4)]
THREEPOINTS
本身不是一个列表;它将具有列表值属性注意使用
range(3)
而不是range(4)
来定义3个点。如果要将THREEPOINTS
索引从1到3而不是从0到2,可以从__getitem__
中的i
减去一,然后__setitem__
将基于1的索引映射到列表使用的基于0的索引相关问题 更多 >
编程相关推荐