我想做这样的事情:
class worker():
def run(self):
# Do something
class main():
def __init__(self):
worker_obj = worker()
main_obj = main()
main_obj.worker_obj.run()
这样的错误/可能吗?
答案 0 :(得分:0)
您需要将worker_obj
指定为实例的属性(self
):
class main():
def __init__(self):
self.worker_obj = worker()
否则,您只是在__init__
内创建一个立即超出范围的局部变量。
答案 1 :(得分:0)
您需要将属性附加到self以使其可在函数外部使用。目前,您正在创建函数变量而不是实例属性。 将您的班级更改为以下
class worker():
def run(self):
# Do something
class main():
def __init__(self):
self.worker_obj = worker()
main_obj = main()
main_obj.worker_obj.run()