Python 如何在另一个类中更新变量

Python 如何在另一个类中更新变量,python,class,Python,Class,我有以下课程: class Game(): def __init__(self): self.player = Player("name") class Turn(): def __init__(self): pass def end(self): #how update xp player class Player(): def __init__(self, name

我有以下课程:

class Game():
    def __init__(self):
        self.player = Player("name")


    class Turn():
        def __init__(self):
            pass

        def end(self):
            #how update xp player

class Player():
    def __init__(self, name):
        self.name = name
        self.xp = 0

我的问题是当回合结束时,如何更新播放器如果这些类在同一个模块中,您可以在模块中定义一个全局变量,可以在这两个类中使用。否则,您需要显式地将变量传递给这两个类的实例。

您的游戏类在其self.player属性中似乎有对某个玩家的引用。如果要更新该玩家的xp属性,可以执行以下操作:

def end(self):
    self.player.xp += 5

您似乎忽略了代码中的def这对于全局变量*来说是一个糟糕的例子。游戏、回合和玩家应相互引用,属性应通过这些引用进行更新。*并不意味着一个好的存在