Class 将全局变量设置为对象Python 3.3

Class 将全局变量设置为对象Python 3.3,class,object,python-3.x,global-variables,Class,Object,Python 3.x,Global Variables,我一直在尝试做一个开放式的文本冒险。我试图设置九个可以在其中移动的房间,但我认为我这样做在python中是不可能的。有没有类似的方法我可以做到?解决办法?代码如下:(顺便说一句,我知道用户还没有办法进行交互) 您看到的问题是,在声明变量之前,无法在方法调用中使用该变量。除了使用每个房间的变量外,解决该问题的一种方法是将设置移动到创建所有房间后可以调用的方法 class Room: def setup(self, north, east, south, west, desc):

我一直在尝试做一个开放式的文本冒险。我试图设置九个可以在其中移动的房间,但我认为我这样做在python中是不可能的。有没有类似的方法我可以做到?解决办法?代码如下:(顺便说一句,我知道用户还没有办法进行交互)


您看到的问题是,在声明变量之前,无法在方法调用中使用该变量。除了使用每个房间的变量外,解决该问题的一种方法是将设置移动到创建所有房间后可以调用的方法

class Room:

    def setup(self, north, east, south, west, desc):
        self.north = north
        self.east = east
        self.south = south
        self.west = west
        self.desc = desc

loc1 = Room()
loc2 = Room()
loc3 = Room()
loc4 = Room()
...
loc9 = Room()

loc1.setup(False, loc2, loc4, False, "You can go east and south")
loc2.setup(False, loc3, loc5, loc1, "You can go east, south, and west")
loc3.setup(False, False, loc6, loc2, "You can go west and south")
loc4.setup(loc1, loc5, loc7, False, "You can go north, east, and south")
...
loc9.setup(loc6, False, False, loc8, "You can go north and west")

为什么您认为这在Python中是不可能的?你看到了什么问题?
class Room:

    def setup(self, north, east, south, west, desc):
        self.north = north
        self.east = east
        self.south = south
        self.west = west
        self.desc = desc

loc1 = Room()
loc2 = Room()
loc3 = Room()
loc4 = Room()
...
loc9 = Room()

loc1.setup(False, loc2, loc4, False, "You can go east and south")
loc2.setup(False, loc3, loc5, loc1, "You can go east, south, and west")
loc3.setup(False, False, loc6, loc2, "You can go west and south")
loc4.setup(loc1, loc5, loc7, False, "You can go north, east, and south")
...
loc9.setup(loc6, False, False, loc8, "You can go north and west")