python - 模块中的变量范围
问题描述
长话短说:为什么这个程序输出“0”而不是“5”,我怎样才能让它输出“5”:main.py:
from mod import *
setvar(5)
printvar()
模组.py:
var = 0
def setvar(x):
var = x
def printvar():
print("var =", var)
解决方案
该方法中的当前代码setvar
仅创建一个名为的新局部变量,var
并分配给x
.
你正在修改一个全局变量,你需要这样声明它。
var = 0
def setvar(x):
global var
var = x
def printvar():
print("var =", var)
推荐阅读
- png - 使用 cytoscape 函数 cy.png 导出 PNG 不包含 popper.js 标签
- wordpress - 根据 Wordpress 用户链接
- javascript - 带有 React 组件加载图像的 SharePoint 框架
- autodesk-forge - Autodesk forge 查看器在更新 tls1.2 后出现错误
- .htaccess - 正则表达式 301 重定向 .htaccess 文件
- javascript - 我如何使用 javascript 来控制 DOM 对象的列表
- python - 从导入到 python 的 excel 文件中打印特定列
- django - 为什么我的异常会给出语法错误
- c# - 如何检索由 DataTemplate 创建的控件?
- ios - Flutter:在没有 Mac/Apple 开发者帐户的情况下构建和分发 .ipa 文件?