当我的子类在单独的文件中时,我的子类没有继承超类属性。当我运行我的主bot.py
时,我收到错误声明:
AttributeError: 'Serv' object has no attribute 'server'
以下是我的例子:
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() )
from bot import Bot
class Serv(Bot):
def __init__(self):
return self.getserv()
我对python中的对象继承有些新意,我确信这是一个我忽略的简单问题。任何帮助识别我的问题将不胜感激!提前谢谢。
答案 0 :(得分:1)
你的子类__init__
毫无意义。
你应该改为:
from bot import Bot
class Serv(Bot):
def __init__(self):
super().__init()
self.something_else = whatever
如果要更改子类的显示方式,请自定义__str__
或__repr__
。