Python ';罐子';分配前参考

Python ';罐子';分配前参考,python,Python,当我尝试在Point.py中使用def getLotteryGame()时,它总是告诉我 'pot' refernced before assignment. 代码如下: pot = 1 class Point: def buyLottery(name, amount): Point.startPoint(name) amount = int(amount) multiplier = random.randint(amount, 217)

当我尝试在Point.py中使用def getLotteryGame()时,它总是告诉我

'pot' refernced before assignment. 
代码如下:

pot = 1

class Point:

    def buyLottery(name, amount):
       Point.startPoint(name)
       amount = int(amount)
       multiplier = random.randint(amount, 217)
       pot = int(pot+multiplier)
       if name not in players:
          if Point.getCost(name, amount) == True:
             players.append(name)
             return "%s has joined the the lottery for %s P$ which magically grew to %s P$!" % (name.title(), Point.amountCost(name, amount, multiplier)
在这一行

pot = int(pot+multiplier)
甚至在赋值之前,您就已经在使用
pot
。如果要使用
pot
,则需要明确地告诉Python,如下所示

def buyLottery(name, amount):
    global pot
    ...
    pot = int(pot+multiplier)

啊,谢谢。是的,我以前从未真正使用过类外的对象。因此,如果我使用类外的另一个对象,如lotteryStart=time.time(),我是否也需要对其进行全局设置?@user3103923如果您要更改函数中的
lotteryStart
,那么您也必须对其进行
global
更改。如果您只是访问它,则不需要
global
it@user3103923欢迎光临:请考虑接受这个答案。