setattr函数在这个线程代码中做了什么

时间:2017-10-04 14:15:57

标签: python multithreading

我正在学习一段代码如下:

class TestApp(TestWrapper, TestClient):
    def __init__(self, ipaddress, portid, clientid):
    TestWrapper.__init__(self)
    TestClient.__init__(self, wrapper=self)

    self.connect(ipaddress, portid, clientid)

    thread = Thread(target = self.run)
    thread.start()

    setattr(self, "_thread", thread)

    self.init_error()

我对它的线程组件很感兴趣,我不明白setattr在这里做了什么,有人可以解释一下吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

setattr(object, name, value)

该函数将值赋给提供的对象的属性。例如:setattr(objectA, 'attr', 'foo')相当于x.foobar = 'foo'

在你的代码中: setattr(self, "_thread", thread)相当于self._thread=thread

有关详细信息,请访问python_setattr

我希望这能帮到你!