Pyflakes निम्न कोड के साथ बहुत अच्छी तरह से निपटने के नहीं करता है:ठीक pyflakes @property सेटर डेकोरेटर के साथ काम कर
@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
vim और syntastic जो pyflakes मैं निम्नलिखित त्रुटि मिलती है का उपयोग करता है का उपयोग करना:
W806 redefinition of function 'nodes' from line 5
तो मुझे @nodes.setter
के बारे में चेतावनियां मिलती हैं क्योंकि मैं nodes
को फिर से परिभाषित करता हूं।
यह कोड सही है क्योंकि मैं इस बेकार चेतावनी को कैसे अक्षम करूं? या कौन सा पायथन चेकर सही ढंग से इस कोड से संबंधित है?
अद्यतन
जब मैं अपने कोड पुनर्संशोधित क्योंकि गुण और कार्य विभिन्न विरासत व्यवहार मैं कुछ समस्याओं का सामना किया। बेस क्लास के गुणों तक पहुंच अलग है। देखें:
- How to call a property of the base class if this property is being overwritten in the derived class?।
- Python derived class and base class attributes?
इसलिए मैं अब इस वाक्य से बचने और बजाय उचित कार्यों का उपयोग करते हैं।
मेरा कोड तोड़ता है अगर उन 'फिक्स' पापसे को लागू करते हैं, तो मैं '__setattr__' ओवरराइड का उपयोग करता हूं जहां' ऑब्जेक्ट .__ setattr__' कॉल मैं विफल करता हूं अगर मैं सेटर्स विधि का नाम बदलता हूं। यह नोड्स विधि नहीं मिल सकता है। – Stephan
आप 'del _nodes_setter' के साथ इसका पालन नहीं कर सके –