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

Python:传递函数更多信息是件坏事吗?,python,multithreading,Python,Multithreading,我有两个或更多线程(通过子类化threading.Thread创建)并行运行,它们经常相互通信。它们通过相互调用方法进行通信。正如我一直在做的那样,我让每个线程作为一个参数传递自己,这样所有的类属性都可以立即使用 这可能是一种懒惰的做法,因为我可以计算出一个方法需要知道哪些属性,并且只传递这些属性。所以我的问题是,将整个类实例传递给一个方法的效率是否比只传递相关数据的效率低?它的效率并不低,但它可以增加耦合——也就是说,它可能会使函数更依赖于整体结构的细节。这使得代码更加脆弱——您可能需要在整个

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


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

它的效率并不低,但它可以增加耦合——也就是说,它可能会使函数更依赖于整体结构的细节。这使得代码更加脆弱——您可能需要在整个代码中进行更多更改,以考虑结构中的更改。

Python将引用传递给对象。不管对象是字符串还是充满属性的整个类实例


顺便说一句,正如另一个答案所说,这个设计选择不是最好的。

很好,很高兴知道。我有一种感觉,我没有尽可能以最好的方式做事,所以我的第一个想法是资源过度使用。不过这是有道理的,谢谢。