gpt4 book ai didi

python - 在 python 中导入模块时会发生什么

转载 作者:太空宇宙 更新时间:2023-11-04 07:46:02 25 4
gpt4 key购买 nike

我有以下用例:

a.py:

import b
import c

c.fun()

b.py:

def fun():
print 'b'

c.py:

def fun():
b.fun()

python a.py 不工作。它因 NameError: global name 'b' is not defined 而失败。

我对python中import的理解是在sys.modules中加了一个名字。如果是这种情况,那么 c.py 也应该看到模块 b。但显然情况并非如此。那么谁能解释一下导入模块时到底发生了什么。

谢谢。

最佳答案

模块 c.py 必须导入 b 才能使其正常工作...导入模块时,它会被添加到仅在当前脚本范围内可用的全局字典中(使用“globals()”打印其内容)

关于python - 在 python 中导入模块时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7495038/

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