如何在Python中使用外部变量,如'extern int x;' 在C?

Je-*_*ong 10 python extern

如何在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)

Bak*_*riu 8

只需在模块中重新分配变量:

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.amain1myfunc.您需要这样的全局变量的事实已经是代码味道,您的代码有问题,您应该尝试修复它.


实际上有一种方法可以影响"全球范围",但它是如此的hackish我甚至不想提及它.相信我:你不想使用它.如果人们使用这样的黑客看到你的代码,你可能处于身体危险之中.