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这对于全局变量*来说是一个糟糕的例子。游戏、回合和玩家应相互引用,属性应通过这些引用进行更新。*并不意味着一个好的存在