Python:从类实例中访问变量的最佳方法?

2024-05-21 20:31:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为Player的类,这个类将有200-300个实例。这个类中有一个名为Move的函数,这个函数需要地图知识。你知道吗

我还有一个名为Map的类,有1-2个实例。将地图的实例输入玩家实例的最佳方法是什么?你知道吗

我这么问是因为如果我把它输入到Playerinit上的实例,那么我就可以通过自映射-这不是要创建数百个地图实例的副本吗(每个玩家实例一个)?你知道吗

据我所知,这可能是标准的做法,但我有一个唠叨的感觉,这是不适当的。你知道吗

谢谢


Tags: 实例方法函数map标准move地图玩家
2条回答

如果将Map传递给init处的Player,则只传递一个引用,而不是一个副本。这样就不会创建Map的冗余实例,这是最好的方法。你知道吗

在Python中,任何东西都不会被隐式复制。无论何时执行x = y,无论是函数调用还是变量/元素/属性赋值,xy之后都引用相同的对象。你知道吗

不过,我认为你的计划有两个陷阱:

  • 地图也知道玩家的情况吗?如果是这样,你手上就会有很多循环引用。把地图传给move()。你知道吗
  • 让map本身或者其他一些丰富的“游戏逻辑”类来处理实际的移动似乎更合适。(不过,我不是一个游戏开发人员;我的直觉是,地图上的一个东西不应该超出它自己,移动它自己。)

相关问题 更多 >