如何在继承时创建对象变量?

时间:2016-01-03 13:55:16

标签: python class oop inheritance

我希望在班级self._query中创建变量Hello,并且:

  • 我希望在另一个类继承类Hello时创建变量。
  • 我希望变量是从类Hello中声明的(而不是来自外部,Hello._query = ...)。
  • 我只想宣布一次。

但是,对我而言,我似乎只能通过__init__的{​​{1}}方法定义此变量。还有其他方法,因为在继承类时不会执行此操作吗?

这就是我所拥有的:

Hello

我能想出的唯一解决方法是,但这不会创建import mylib class Hello(object): def __init__(self): super(Hello, self).__init__() self._query = mylib.Query() def say_hello(self): print self._query.hello() def say_goodbye(self): print self._query.goodbye() 。相反,它会产生全局变量self._query

_query

是否可以在继承import mylib _query = mylib.Query() class Hello(object): def say_hello(self): print _query.hello() def say_goodbye(self): print _query.goodbye() 时以某种方式创建self._query,在Hello类中提供self._query

1 个答案:

答案 0 :(得分:0)

感谢@jonsharpe,我只想使用类属性。

import mylib

class Hello(object):
    _query = mylib.Query() # class attribute

    def say_hello(self):
        print self._query.hello()

    def say_goodbye(self):
        print self._query.goodbye()