如何在Python中使用外部变量,比如extern int x;
在C中?
例如,
main1.py:
from myfunc import print_a
a = 10
print a
print_a()
Run Code Online (Sandbox Code Playgroud)
myfunc.py:
def print_a():
global a
print a
Run Code Online (Sandbox Code Playgroud)
只需在模块中重新分配变量:
import myfunc
from myfunc import print_a
a = 10
print a
myfunc.a = a
print_a()
Run Code Online (Sandbox Code Playgroud)
否则就不可能.
记得python以一种与C完全不同的方式处理模块.import
在python中,不会在该位置"复制文件的内容",但它会执行给定文件中的代码并创建一个module
对象.
模块的全局变量是module
对象属性,可以如我所示进行修改.除内置插件外,没有"全局变量"这样的概念.
我建议重构你的代码,这样你就不必在所有修改这个全局变量的方式,移动使用的代码myfunc.a
从main1
到myfunc
.您需要这样的全局变量的事实已经是代码味道,您的代码有问题,您应该尝试修复它.
实际上有一种方法可以影响"全球范围",但它是如此的hackish我甚至不想提及它.相信我:你不想使用它.如果人们使用这样的黑客看到你的代码,你可能处于身体危险之中.
归档时间: |
|
查看次数: |
11825 次 |
最近记录: |