gpt4 book ai didi

python 全局变量 : import vs. execfile

转载 作者:太空狗 更新时间:2023-10-30 03:02:36 24 4
gpt4 key购买 nike

我把一个方法放在文件 mymodule.py 中:

def do_something():
global a
a=1

如果我尝试

>>> execfile('mymodule.py')
>>> do_something()
>>> print a

如我所料,我得到了“1”。但是如果我改为导入模块,

>>> from mymodule import *

然后运行 ​​do_something(),然后 python session 对变量“a”一无所知。

谁能给我解释一下区别?谢谢。

最佳答案

execfile没有globals, locals 参数,它执行当前命名空间中的文件内容。 (调用 execfile 的同一个命名空间)

同时,import在单独的命名空间中执行指定的模块,并在本地命名空间中定义mymodule

关于python 全局变量 : import vs. execfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21542941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com