重置变量

2024-04-26 18:11:44 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我试图让我的积分模块在游戏结束后重置这些变量,这些变量在类积分之外:

    lotteryStart = time.time()
    players = []
    pot = 1

class Point:

     def load():
            # load the database into the bot
        dPoint = {} # dict for points
        for name in open("Point.DB","r").readlines():
           if len(name.strip())>0:
             name,point = name.split()
             dPoint[name] = int(point)
        Point.dPoint = dPoint
        Point.MINUTE = 60
        Point.HOUR = Point.MINUTE * 60
        Point.DAY = Point.HOUR * 24
        Point.YEAR = Point.DAY * 365 
        Point.timer = 15
        lotteryStart = time.time()
        pot = 1
        players = []

我尝试在def load()中放置相同的变量:它在类下,但在使用点荷载()变量保持与加载前相同。有没有办法让它把变量设置成原来的开始。你知道吗


Tags: thenamefortimedefloadpointday
1条回答
网友
1楼 · 发布于 2024-04-26 18:11:44

下面的代码将不更改全局变量“x”:

x = 1;
class Point:
    x = 2
print x # will print 1

为了解决此问题,必须在所需的类或函数中显式声明“global x”:

x = 1;
class Point:
    global x
    x = 2
print x # will print 2

相关问题 更多 >