python类继承与单独的脚本文件

时间:2015-06-15 20:33:50

标签: object python-3.x inheritance python-import

当我的子类在单独的文件中时,我的子类没有继承超类属性。当我运行我的主bot.py时,我收到错误声明:

AttributeError: 'Serv' object has no attribute 'server'

以下是我的例子:

file 1 [bot.py]

import commands

class Bot(object):
    def __init__(self):
        self.server  = "myserver.domain.com"

    def getserv(self):
        return self.server

if __name__ == "__main__":
    print( commands.Serv() )

file 2 [commands.py]

from bot import Bot

class Serv(Bot):
    def __init__(self):
        return self.getserv()

我对python中的对象继承有些新意,我确信这是一个我忽略的简单问题。任何帮助识别我的问题将不胜感激!提前谢谢。

1 个答案:

答案 0 :(得分:1)

你的子类__init__毫无意义。

你应该改为:

from bot import Bot

class Serv(Bot):
    def __init__(self):
        super().__init()
        self.something_else = whatever

如果要更改子类的显示方式,请自定义__str____repr__