#python #module
#python #модуль
Вопрос:
Я довольно новичок в Python и при написании приложения в итоге получил структуру, которая немного запутана. Приведенный ниже пример должен проиллюстрировать, что я пытаюсь сделать. Проблема в том, что я не могу вызвать метод login из common.py поскольку он определен только в website1.py или website2.py .
Модуль common.py
class Browser():
def load_page():
Login.login()
Модуль website1.py
импорт common.py
class Login:
@staticmethod
def login():
#code to login to this website 1
Модуль website2.py
импорт common.py
@staticmethod
class Login:
def login():
#code to login to website 2
Любые мысли о том, как это реструктурировать, были бы оценены.
Ответ №1:
Прежде всего, почему статические методы? Вы могли бы просто сделать def login
на глобальном уровне.
Во-вторых, вы могли бы передать ссылку на Browser
класс. (или ссылку на модуль, если вы примете мое первое предложение)
class Browser(object):
def __init__(self, loginCls):
self.loginCls = loginCls
def login_page(self):
self.loginCls.login()