模块中的可变范围

2024-06-16 10:20:29 发布

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

长话短说:为什么这个程序输出“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)

Tags: frompyimport程序modmainvardef
1条回答
网友
1楼 · 发布于 2024-06-16 10:20:29

setvar方法中的当前代码仅创建一个名为var的新局部变量,并将其赋值给x

如果要修改全局变量,则需要将其声明为全局变量

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

相关问题 更多 >