我可以从该类外部访问在类中实例化的对象吗?

时间:2017-05-11 05:56:26

标签: python

我想做这样的事情:

class worker():
    def run(self):
        # Do something

class main():
    def __init__(self):
        worker_obj = worker()

main_obj = main()
main_obj.worker_obj.run()

这样的错误/可能吗?

2 个答案:

答案 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()