传递对象或变量是否更有效?

时间:2014-02-28 03:14:21

标签: python performance

我正在Python 2中创建一个刽子手游戏,我可以将当​​前的单词存储在以下任何一个中:

  • 一个对象,作为属性(如wordlist.word = blah
  • 变量(如word = blah

然后我将这个词传递给另一个游戏的主要部分,用于比较等等。

我更喜欢将当前单词保留在一个对象中,因为将它组合在该类下并且通过将所有这些组合在一起看起来更清晰是有意义的,但我担心因为一个对象有更多的代码它需要更多的努力才能使程序传递它。

使用对象或变量更有效吗?两者的优点和缺点是什么?例如,一个比另一个更有效/更快吗?

1 个答案:

答案 0 :(得分:3)

苹果和橘子。在选择在范围变量或实例属性中存储数据时,您应该考虑程序流和结构。比较这里的表现毫无意义。

如果数据逻辑上属于程序中将在程序的不同部分之间传递的实体(这里似乎就是这种情况),则创建一个类并将数据放在此类的实例中。例如。当前单词可能是当前RoundGame的属性,具体取决于您希望对象的细粒度。

另一方面,如果数据仅在当前方法的范围内使用,请使用范围变量。