Python:传递函数更多信息是件坏事吗?

时间:2011-05-31 18:09:09

标签: python multithreading

我有两个或多个线程(由子类化threading.Thread创建)并行运行,它们经常相互通信。他们通过互相调用方法进行沟通。正如我一直在做的那样,我让每个线程都将自己作为参数传递,以便所有类属性都可以立即使用。

这可能是懒惰的做法,因为我可以知道方法需要知道哪些属性,并且只传递那些属性。所以我的问题是,将整个类实例传递给效率低于相关数据的方法?

2 个答案:

答案 0 :(得分:6)

效率并不低,但它可以增加耦合 - 也就是说,它可能会导致您的功能更多地依赖于整体结构的细节。这会使代码更加脆弱 - 您可能需要在整个代码中进行更多更改以解决结构中的更改。

答案 1 :(得分:1)

Python传递对象的引用。如果您的对象是字符串或充满属性的整个类实例,则无关紧要。

BTW,正如其他答案所说,这种设计选择并不是最好的选择。