开发者

How to structure re-used code between modules

I'm pretty new to Python and, in writing an app, have ended up with a structure that's a bit of a mess. The example below should illustrate what I'm trying to do. The issue is that I can't ca开发者_JS百科ll the login method from common.py because it is only defined in website1.py or website2.py.

Module common.py

class Browser():

    def load_page():
        Login.login()

Module website1.py import common.py

class Login:
    @staticmethod        
    def login():
        #code to login to this website 1

Module website2.py import common.py

@staticmethod
class Login:
    def login():
        #code to login to website 2

Any thoughts on how to restructure this would be appreciated.


First of all, why static methods? You could just do def login at the global level.

Second of all, you could pass a class reference to the Browser class. (or a module reference if you take my first suggestion)

class Browser(object):
    def __init__(self, loginCls):
        self.loginCls = loginCls

    def login_page(self):
        self.loginCls.login()
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜