Q
全局变量不能改变
2
A
回答
3
问题是您正在更改模块级别的变量a
。 我假设你只需从该模块导入所有内容。
让文件mymodule.py
包含代码
a = 42
def foo(num):
global a
a = num
现在让我们运行一个解释对话:
>>> from mymodule import *
>>> a
42
>>> foo(12)
>>> a
42
>>> import mymodule
>>> mymodule.a
12
+2
好的赶上!仍然试图猜测可以做些什么......无论如何,'从模块导入*'通常是问题的根源,因为除了设计得很仔细的模块之外,它将模块化分解成几部分。 –
+0
我正在使用'%run'魔术命令。这似乎与'from ... import *'类似 – binaryfunt
相关问题
- 1. 功能不改变全局变量
- 2. 全局变量不改变
- 3. C++:不能修改全局变量
- 4. 全局变量不会改变
- 5. 函数不会改变全局变量
- 6. 全局变量不会改变
- 7. 全局变量不会改变jQuery的功能
- 8. 全局变量修改TCL
- 9. 更改全局变量
- 10. 修改全局变量Ant
- 11. 全局变量空功能
- 12. 功能的全局变量
- 13. 全局变量类节能
- 14. SlimFramework改变全局变量内航线
- 15. 全局变量值没有改变
- 16. Python的改变全局变量
- 17. JavaScript - 函数不修改全局变量
- 18. 变量全局变量?
- 19. luabind:不能访问全局变量
- 20. 全局变量不能分配两次
- 21. Python不能看到全局变量
- 22. 全局变量不是内部功能
- 23. 全局变量
- 24. 全局变量。
- 25. 全局变量
- 26. 全局变量
- 27. 全局变量
- 28. 全局变量
- 29. 全局变量
- 30. 全局变量
什么是NUM到底是什么?而且你不会回报a的价值,你期望什么? – Inkblot
@Inkblot我加了一些额外的信息 – binaryfunt
能'a'生活在加载了'import'的foo.py文件中吗?如果是的话,请说明你是如何导入一切的。 –