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'
Невозможно получить доступ к методу login()
класса Sample
, хотя у меня есть объект класса Sample
.
Я хочу, чтобы объект имел доступ к Sample
, Test2
и Test3
методам (не из Test1
, поскольку версия 'gen2'
).Если версия 'gen1'
, объект Sample
должен иметь доступ только к методам Sample
, Test1
и Test3
, а не к Test2
.