我是否必须在python中定义基类中的属性?

时间:2015-02-17 14:54:41

标签: python

这是一种"最佳实践"问题,但是当我提交代码时,我的IDE会向我发出警告,我不确定如何继续。

"未解析的属性引用"属性" for class" BaseClass"。

基本上我有一个基类,使用get和set方法。

class BaseClass(object):
    def __set__(self, obj, value):
        foo = obj.bar
        foo.findmethod(self.attribute).setmethod(value)

然后,在使用我将使用的实际类时,我继承了这个类:

class ChildClass1(BaseClass):
    attribute = this

class ChildClass2(BaseClass):
    attribute = that

由于我永远不会直接使用基类,因此我没有理由在该级别定义此属性。但这个警告让我想知道这是不好的做法。如果我的命名惯例令人困惑,请道歉。

1 个答案:

答案 0 :(得分:0)

我同意@jonrsharpe,但不仅仅是在解决方法方面,而是作为一般做法。我认为它非常适合自我文档和代码可读性来定义您在初始化程序中或在实例生命中的其他地方,在类级别设置的属性。如果你记录它们会更好。

class BaseClass(object):

    attribute = None
    '''Should be defined in a subclass. Use for something, here and there.'''


    def __set__(self, obj, value):
        foo = obj.bar
        foo.findmethod(self.attribute).setmethod(value)
相关问题