Pyflakes 不能很好地处理以下代码:
@property
def nodes(self):
return self._nodes
@nodes.setter
def nodes(self, nodes):
"""
set the nodes on this object.
"""
assert nodes != [] # without nodes no route..
self.node_names = [node.name for node in nodes]
self._nodes = nodes
使用使用 pyflakes 的 vim 和 syntastic 我得到以下错误:
W806 redefinition of function 'nodes' from line 5
所以我收到警告,@nodes.setter
因为我重新定义了nodes
.
由于此代码正确,如何禁用此无用警告?或者哪个 python 检查器正确处理了这段代码?
更新
我在重构代码时遇到了一些问题,因为属性和函数具有不同的继承行为。访问基类的属性是不同的。看:
所以我现在倾向于避免这种语法,而是使用适当的函数。