Python 2中super()内置函数使用报错求助:代码问题排查
排查你的Python继承代码错误
嘿,我一眼就发现问题啦——你的代码里有个非常细微的语法错误:在调用父类构造方法的时候,super()后面的点号和__init__之间多了一个空格!
错误原因
Python中调用对象的方法时,格式必须是对象.方法(),点号和方法名之间不能有空格。你写的super(). __init__(message)里,. (点加空格)会被Python解释器识别为无效语法,直接抛出SyntaxError。
修正后的代码
class BClass: def __init__(self, message): self.message = message def printMessage(self): print(self.message) class AClass(BClass): def __init__(self, message): super().__init__(message) # 去掉了点号和__init__之间的空格 m1 = AClass("ciao") m1.printMessage()
运行这段修正后的代码,就能正常输出ciao啦。如果还有其他问题,随时告诉我哦!
内容的提问来源于stack exchange,提问作者Pydavide
相关产品推荐
相关产品推荐

