【发布时间】:2019-05-21 01:37:07
【问题描述】:
from folder.test.test1 import Test1
from folder.test.test2 import Test2
from other_folder import Test3
class Sample(Test1, Test2, Test3):
def __init__(self, version):
Test3.__init__(self)
if version == 'gen1':
self.__class__ = Test1
Test1.__init__()
elif version == 'gen2':
self.__class__ = Test2
Test2.__init__()
def login(self, ip):
pass
if __name__ == '__main__':
ob = Sample(version='gen2')
ob.login('192.168.1.100')
我收到此错误:
AttributeError: 'Test2' object has no attribute 'login'
虽然我有一个Sample 类对象,但无法访问Sample 类的login() 方法。
我希望对象能够访问Sample、Test2 和Test3 方法(不是Test1,因为版本是'gen2')。如果版本是'gen1',则Sample 对象只能访问Sample、Test1 和Test3 方法,而不是Test2。
【问题讨论】:
标签: python python-2.7 inheritance multiple-inheritance