最近,我发现了<property
Building-in,其中掩饰阶级方法的接收器和制片人为一类财产。 我现在想以我确信不合适的方式加以利用。
使用<代码>property 关键词显然是,如果类别<代码>A有财产<代码>_x,就应当做些什么。 你们想要限制哪些可允许的价值;即,它将取代<条码>、条码>和<条码>X(条码>)的施工,可在C++上书写。
但是,在什么地方,让财产发挥作用是适当的? 例如,如果是,
class Vertex(object):
def __init__(self):
self.x = 0.0
self.y = 1.0
class Polygon(object):
def __init__(self, list_of_vertices):
self.vertices = list_of_vertices
def get_vertex_positions(self):
return zip( *( (v.x,v.y) for v in self.vertices ) )
添加
vertex_positions = property( get_vertex_positions )
?
创造者是否像财产一样看待? 如果我们守则的改动意味着我们不再以同样的方式储存<条码>。 添加到<条码>Polygon上是ok吗?
@property
def vertices(self):
for v in self._new_v_thing:
yield v.calculate_equivalent_vertex()