我想知道是否有一种简单的方法可以在python类中全局化变量。我在下面尝试此示例,但收到以下错误消息:
UnboundLocalError:分配前已引用局部变量“ gold”
我不想在每个函数中键入'global gold'。
gold = 10
class economy:
global gold
def income(self):
gold+=5
def expense(self):
gold-=5
答案 0 :(得分:0)
最好把黄金放在课堂上
class economy:
def __init__(self, gold):
self.gold = gold
def income(self):
self.gold+=5
def expense(self):
self.gold-=5
a = economy(90)
a.income()
a.gold # 95
a.expense()
a.gold() #90
答案 1 :(得分:-2)
该类中最易访问的变量是属性,要在类之外使用它,您可以创建一个getVariable函数,如下所示:
gold = 10
class economy:
gold = None
def __init__(self,gold) :
self.gold = gold
def income(self):
self.gold+=5
def expense(self):
self.gold-=5
def getGold(self) :
return self.gold
# to get the gold value from the object :
gold = economy(gold).getGold()