现在有两个文件:
a.py:
x=1
from b import *
printx()
b.py:
def printx():
print(x)
在命令行中调用$ python3 a.py
会有NameError,这里有点不理解,直接调用a.py的时候,x不能算全局变量吗?根据LEGB规则,为什么会出错呢?
现在有两个文件:
a.py:
x=1
from b import *
printx()
b.py:
def printx():
print(x)
在命令行中调用$ python3 a.py
会有NameError,这里有点不理解,直接调用a.py的时候,x不能算全局变量吗?根据LEGB规则,为什么会出错呢?
2 回答5.3k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
2 回答973 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
x只是a文件内可见呀
a文件中import了b只是使b文件中的方法printx对a文件可见,可以调用它,并没有改变x对b文件的不可见性。。