Python3.x-对象在类中不可用
在下面的代码中,我对类和将对象传递给第二个类有问题,行Python3.x-对象在类中不可用,python,python-3.x,object,constructor,Python,Python 3.x,Object,Constructor,在下面的代码中,我对类和将对象传递给第二个类有问题,行Class one正确地记录到日志文件中,在Class 2中,行Class two打印在屏幕上输出,但是当它到达Class two的默认构造函数中的记录器行时,我得到下面的错误,第二行没有写入日志文件 注意:记录器已定义并在一级正常工作。 错误: NameError: name 'logger' is not defined 代码: 在这种情况下工作 试试看: def logger(): print("\a") class x:
Class one
正确地记录到日志文件中,在Class 2中,行Class two打印
在屏幕上输出,但是当它到达Class two的默认构造函数中的记录器行时,我得到下面的错误,第二行没有写入日志文件
注意:记录器已定义并在一级正常工作。
错误:
NameError: name 'logger' is not defined
代码:
在这种情况下工作 试试看:
def logger():
print("\a")
class x:
logger = logger()
....
在这种情况下工作 试试看:
def logger():
print("\a")
class x:
logger = logger()
....
可能您正在尝试以下内容:
class demo_logger:
def write(self, message):
print(message)
class two:
def __init__(self, logger):
self.logger = logger
def demo_method(self):
self.logger.write("Class two: demo method is called")
class one:
logger = demo_logger()
logger.write("Class one")
twoObj = two(logger)
oneObject = one()
oneObject.twoObj.demo_method()
输出:
Class one
Class two: demo method is called
可能您正在尝试以下内容:
class demo_logger:
def write(self, message):
print(message)
class two:
def __init__(self, logger):
self.logger = logger
def demo_method(self):
self.logger.write("Class two: demo method is called")
class one:
logger = demo_logger()
logger.write("Class one")
twoObj = two(logger)
oneObject = one()
oneObject.twoObj.demo_method()
输出:
Class one
Class two: demo method is called
logger
来自哪里?您的代码示例生成一个名称错误
,因为记录器
既没有导入也没有定义。练习本课:请使用显示此记录器
来源的代码更新您的问题。另外,错误指的是哪一行?您还应该使用完整的错误回溯更新问题。logger
来自哪里?您的代码示例生成一个名称错误
,因为记录器
既没有导入也没有定义。练习本课:请使用显示此记录器
来源的代码更新您的问题。另外,错误指的是哪一行?您还应该使用完整的错误回溯更新问题。排序后,我的问题是我调用的是logger.write
而不是self.logger.write
。排序后,我的问题是我调用的是logger.write
而不是self.logger.write
。