一、 当一个类想要调用另一个类里面的属性值,另一个类属性值是在__Init_文件里面或者想要调用这个类里面的参数,虽然用self来调用类的属性,代码没有显示报错,但是运行起来就会报错'Logger' object is not callable类似的,说对象不可被调用---后面有问题的代码又好了,不知道怎么回事,说这个问题的初衷就是万一遇到这种问题,可以用修改后的这个方案解决,多一个解决办法也不是坏事

1)先看有问题的代码:

个文件里面的类

class Log:

    def __init__(self):

        # 连接log,创建日志器

                self.logger = logging.getLogger("loggr")

个文件里面的类

正常导库

        class Login(Driver):

    log = Log()   ,实例化对象后理论上可以调用__init__里面的类属性值

    def open(self):

        # 获取登录界面

        self.driver.get("http://127.0.0.1/Home/user/login.html")

        # 添加日志

                self.log.logger().info("进入登录界面")

2)修改后的代码:

个文件里面的类

class Log:

    def __init__(self):

        # 连接log,创建日志器

                self.logger = logging.getLogger("loggr")

    def getlogger(self):

                return self.logger   直接把类的属性值单独创建个方法并返回

个文件里面的类

正常导库

class Login(Driver):

    log = Log()   ,这里不变

    def open(self):

        # 获取登录界面

        self.driver.get("http://127.0.0.1/Home/user/login.html")

        # 添加日志

                self.log,getlogger ().info("进入登录界面")   这里直接调用方法就可以了

二、后面自己写了简单的几个例子,验证了没问题

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐