首页 > 解决方案 > 有没有一种简单的方法来全球化一个类中的变量

问题描述

我想知道是否有一种简单的方法来全球化 python 类中的变量。我在下面尝试此示例,但收到以下错误消息:

UnboundLocalError:分配前引用的局部变量“gold”

我不想在每个函数中都输入“全球黄金”。

gold = 10
class economy:
    global gold

   def income(self):
        gold+=5

    def expense(self):
        gold-=5

标签: pythonpython-3.xfunctionclassglobal

解决方案


最好把黄金放在课堂上,并从实例中引用

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

推荐阅读