模块中的变量范围

时间:2019-04-19 20:57:31

标签: python variables module

长话短说:为什么该程序输出“ 0”而不是“ 5”,我如何使其输出“ 5”: main.py:

from mod import *
setvar(5)
printvar()

mod.py:

var = 0
def setvar(x):
    var = x
def printvar():
    print("var =", var)

1 个答案:

答案 0 :(得分:5)

您在setvar方法中当前的代码仅创建了一个名为var的新局部变量,该变量被分配给x的值。

您正在修改全局变量,您需要这样声明它。

var = 0
def setvar(x):
    global var
    var = x
def printvar():
    print("var =", var)