如何解决如何在 Python 2.7 中使用 Super() 进行多重继承
在 python 2.7 中使用 super 会导致错误代码,
TypeError: super() 需要至少 1 个参数(0 给定)
解决方法
以下代码有助于理解如何在python 2.7中使用super函数进行多重继承,
class A(object):
def __init__(self):
print("Class A")
super(A,self).__init__()
class B(object):
def __init__(self):
print("Class B")
super(B,self).__init__()
class C(A,B):
def __init__(self):
print("Class C")
super(C,self).__init__()
Cobj = C()
在 Python 3 中,super 函数稍微简化了一点,可以如下使用,
class A:
def __init__(self):
print("Class A")
super().__init__()
class B:
def __init__(self):
print("Class B")
super().__init__()
class C(A,B):
def __init__(self):
print("Class C")
super().__init__()
Cobj = C()
如果你在python 2.7中运行上面的代码,你会得到这个错误信息,
TypeError: super() 需要至少 1 个参数(0 给定)
大多数书籍都假设所有作品都使用 python-3.x,但事实并非如此。所以 2.7 的代码风格和模式对开发者来说仍然非常重要。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。