所以我正在开发一个基本的文字游戏,在这个游戏中,你会得到一个字母“手”(字典对象),你可以用它来创建单词并获得分数。
这个“手”被用在许多功能的参数中:计算玩家的分数,在玩家使用一个或多个字母后更新手中的字母数量,显示手牌,检查手牌的有效性玩家的话等
根据我所阅读的所有内容,我知道我应该尽可能避免使用全局变量(尽管我仍然不完全确定为什么)。
那么对于许多使用“hand”作为参数的函数,我还可以使用什么其他通用方法呢?
最佳答案
它被称为对象。创建 class共享状态,以及共享该状态的函数。
这比全局变量更好的原因是它是同一概念的更受限制的版本 - 您可以清楚地看到哪些函数正在操纵这些变量,并记录(并强制执行)这些变量的预期不变量。使用全局变量,最终很容易拥有对共享变量的状态有不同期望的函数。
它还允许您拥有同一对象的多个副本,因此不必将您的变量转换为集合,并在集合成员之间关联,您拥有一个对象集合,这使您的代码更简单。 然后仅通过您定义的函数来操作这些对象就变得简单了。
关于python - 处理要在没有全局变量的情况下跨函数使用的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12482237/