更新模块中变量的值

Update value of a variable in a module

我有两个文件 main.py 和 val.py。从主文件中的 val.py 中获取一个值,然后我想更新原始文件中的变量。然后在计算中进一步使用该值。每次调用该函数时,我都想获得更新后的值而不是初始值。但我这里只得到初始值。

val.py

num = 0

#update the original value
def update(num):
  num +=1
  return 

#get the current 'num' value
def current():
  return num

Main.py

import val

val.update(val.current())

print(val.current())

全局变量没有得到更新。我似乎无法在这里找出正确的问题。我也在函数中将值作为参数传递。如果有人能给出提示,那将非常有帮助。

update() 中,您用一个也称为 num 的局部变量隐藏了模块的 num 变量。如果你摆脱它并使用global关键字,你可以修改模块的num值。

num = 0

def update():
    global num
    num += 1