Python 传递对象或变量更有效吗?
我正在用Python 2创建一个刽子手游戏,我可以将当前单词存储在以下任意一种格式中:Python 传递对象或变量更有效吗?,python,performance,Python,Performance,我正在用Python 2创建一个刽子手游戏,我可以将当前单词存储在以下任意一种格式中: 对象,作为属性(如wordlist.word=blah) 变量(如word=blah) 然后我将这个词传递到另一个函数中,游戏的主要部分就在这个函数中,用于比较等等 我有点喜欢将当前单词保留在对象中,因为我认为将其分组到该类下是有意义的,而且通过将所有这些放在一起看起来更干净,但是我担心,由于对象中有更多代码,程序传递它需要更多的努力 使用对象或变量更有效吗?两者的利弊是什么?例如,一个比另一个更有效/更
- 对象,作为属性(如
)wordlist.word=blah
- 变量(如
)word=blah
使用对象或变量更有效吗?两者的利弊是什么?例如,一个比另一个更有效/更快吗?苹果和橙子。在选择将数据存储在范围变量或实例属性中时,应该考虑程序流和结构。在这里比较性能是没有意义的 如果数据在逻辑上属于程序中的某个实体,该实体将在程序的不同部分之间传递(这里似乎就是这种情况),请创建一个类并将数据放入该类的实例中。当前单词可能是当前
回合
或游戏
的属性,具体取决于您希望对象的粒度
另一方面,如果数据仅在当前方法的范围内使用,请使用范围变量。Apples and oranges。在选择将数据存储在范围变量或实例属性中时,应该考虑程序流和结构。在这里比较性能是没有意义的 如果数据在逻辑上属于程序中的某个实体,该实体将在程序的不同部分之间传递(这里似乎就是这种情况),请创建一个类并将数据放入该类的实例中。当前单词可能是当前
回合
或游戏
的属性,具体取决于您希望对象的粒度
另一方面,如果数据仅在当前方法的范围内使用,请使用范围变量。Apples and oranges。在选择将数据存储在范围变量或实例属性中时,应该考虑程序流和结构。在这里比较性能是没有意义的 如果数据在逻辑上属于程序中的某个实体,该实体将在程序的不同部分之间传递(这里似乎就是这种情况),请创建一个类并将数据放入该类的实例中。当前单词可能是当前
回合
或游戏
的属性,具体取决于您希望对象的粒度
另一方面,如果数据仅在当前方法的范围内使用,请使用范围变量。Apples and oranges。在选择将数据存储在范围变量或实例属性中时,应该考虑程序流和结构。在这里比较性能是没有意义的 如果数据在逻辑上属于程序中的某个实体,该实体将在程序的不同部分之间传递(这里似乎就是这种情况),请创建一个类并将数据放入该类的实例中。当前单词可能是当前
回合
或游戏
的属性,具体取决于您希望对象的粒度
另一方面,如果数据仅在当前方法的范围内使用,请使用范围变量。在python中,一切都是对象。一切。底层代码将所有内容存储为“PyObject”。将值类型与引用类型混合,在您的情况下,这取决于如何使用它。由于无论发生什么情况,变量都将通过引用传递,因此由您决定对您的心智映射最简单的方法。Fctn(wordlist.word)的开销要小得多,因为python先查找wordlist,然后再查找word。但它们在其他方面是一样的。这种级别的优化很少有用,因为有大量的查找,而且在其他地方也可能不是最理想的。一切。底层代码将所有内容存储为“PyObject”。将值类型与引用类型混合,在您的情况下,这取决于如何使用它。由于无论发生什么情况,变量都将通过引用传递,因此由您决定对您的心智映射最简单的方法。Fctn(wordlist.word)的开销要小得多,因为python先查找wordlist,然后再查找word。但它们在其他方面是一样的。这种级别的优化很少有用,因为有大量的查找,而且在其他地方也可能不是最理想的。一切。底层代码将所有内容存储为“PyObject”。将值类型与引用类型混合,在您的情况下,这取决于如何使用它。由于无论发生什么情况,变量都将通过引用传递,因此由您决定对您的心智映射最简单的方法。Fctn(wordlist.word)的开销要小得多,因为python先查找wordlist,然后再查找word。但它们在其他方面是一样的。这种级别的优化很少有用,因为有大量的查找,而且在其他地方也可能不是最理想的。一切。底层代码将所有内容存储为“PyObject”。将值类型与引用类型混合,在您的情况下,这取决于如何使用它。由于无论发生什么情况,变量都将通过引用传递,因此由您决定对您的心智映射最简单的方法。Fctn(wordlist.word)的开销要小得多,因为python先查找wordlist,然后再查找word。但它们在其他方面是一样的。这种级别的优化很少有用,因为存在巨大的