我在Python中使用Eclipse中的pydev进行开发,我的一些代码在代码分析工具中生成错误。明确地:
class Group(object):
def key(self, k):
class Subkey(object):
def __enter__(s):
self._settings.beginGroup(k)
return self
def __exit__(s, type, value, tb):
self._settings.endGroup()
return Subkey()
为我提供了一个
"Method '__enter__- group' should have self as first parameter"
错误,为__exit__
提供了一个类似的错误。有没有一种方法可以解决这个问题,而不将self
分配给另一个变量,并且在其他方法签名中重用该变量? 最佳答案
您可以在首选项中禁用该错误…
Window > Preferences > Pydev > Editor > Code Analysis > Others
或者重构代码…
class Group(object):
def key(self, k):
outer_self = self
class Subkey(object):
def __enter__(self):
outer_self._settings.beginGroup(k)
return outer_self
def __exit__(self, type, value, tb):
outer_self._settings.endGroup()
return Subkey()
你还期待什么?错误检查可以帮助您。如果您认为它们不是合法错误,请禁用它们或重构代码。
在这种情况下,我会说重构代码。它的可读性更高,从激进王的回答中可以看出。他不明白“CC”是另一个“CC”。