我有两个或多个线程(由子类化threading.Thread创建)并行运行,它们经常相互通信。他们通过互相调用方法进行沟通。正如我一直在做的那样,我让每个线程都将自己作为参数传递,以便所有类属性都可以立即使用。
这可能是懒惰的做法,因为我可以知道方法需要知道哪些属性,并且只传递那些属性。所以我的问题是,将整个类实例传递给效率低于相关数据的方法?
答案 0 :(得分:6)
效率并不低,但它可以增加耦合 - 也就是说,它可能会导致您的功能更多地依赖于整体结构的细节。这会使代码更加脆弱 - 您可能需要在整个代码中进行更多更改以解决结构中的更改。
答案 1 :(得分:1)
Python传递对象的引用。如果您的对象是字符串或充满属性的整个类实例,则无关紧要。
BTW,正如其他答案所说,这种设计选择并不是最好的选择。