一、 当一个类想要调用另一个类里面的属性值,另一个类属性值是在__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("进入登录界面") 这里直接调用方法就可以了