将两个物体相互传递?

时间:2017-06-02 19:27:02

标签: python

如何将两个对象相互传递?

例如:

player = Player(obstacle)
obstacle = Obstacle(player)

如果我这样做会说

Unresolved reference "obstacle"

我明白为什么,但是仍然可以在obstacle中传递player吗?

1 个答案:

答案 0 :(得分:0)

您无法将obstacle传递给player,因为一开始就没有obstacle。您应该创建一个空的player,创建一个obstacle并将obstacle分配给player

player = Player()
obstacle = Obstacle(player)
player.obstacle = obstacle

请注意,这会创建一个引用循环,这对垃圾收集器进行清理是个问题。考虑使用weak references创建相互引用的对象。