据我了解,Python(2.5.2)并没有真正支持抽象类.为什么pylint抱怨这个类是"抽象类而不是引用?" 它会为任何NotImplementedError抛出的类做到这一点吗?
我在每个类都有自己的文件,所以如果是这种情况,我想我别无选择,只能压制这个消息,但我希望可能有另一种方法.
"""Package Repository interface."""
class PackageRepository(object):
"""Package Repository interface."""
def __init__(self):
self.hello = "world"
def get_package(self, package_id):
"""
Get a package by ID.
"""
raise NotImplementedError( \
"get_package() method has not been implemented")
def get_packages(self):
"""
Get all packages.
"""
raise NotImplementedError( \
"get_packages() method has not been implemented")
def commit(self):
"""
Commit all changes.
"""
raise NotImplementedError( \
"commit() method has not been implemented")
def do_something(self):
"""
Doing something.
"""
return self.hello
Run Code Online (Sandbox Code Playgroud)
编辑
也许我应该澄清一下.我意识到这是一个抽象类,我很乐意使用抽象关键字,但据我所知,它在Python中并不重要(至少在我目前使用的版本中)所以我没有做任何有趣的抽象技巧(像那里发现的 …