Kry*_*rix 0 python variables module
长话短说:为什么该程序输出“ 0”而不是“ 5”,如何使它输出“ 5”:main.py:
from mod import *
setvar(5)
printvar()
Run Code Online (Sandbox Code Playgroud)
mod.py:
var = 0
def setvar(x):
var = x
def printvar():
print("var =", var)
Run Code Online (Sandbox Code Playgroud)
您当前在该setvar
方法中的代码仅创建一个名为的新局部变量var
,该局部变量被赋值为x
。
您正在修改全局变量,因此需要声明它。
var = 0
def setvar(x):
global var
var = x
def printvar():
print("var =", var)
Run Code Online (Sandbox Code Playgroud)