搜索

首页  >  问答  >  正文

python - 不同文件中变量作用域的问题

现在有两个文件:

a.py:

x=1
from b import *
printx()
b.py:

def printx():
    print(x)

在命令行中调用$ python3 a.py会有NameError,这里有点不理解,直接调用a.py的时候,x不能算全局变量吗?根据LEGB规则,为什么会出错呢?

某草草某草草2805 天前586

全部回复(1)我来回复

  • phpcn_u1582

    phpcn_u15822017-05-18 10:52:10

    x只是a文件内可见呀
    a文件中import了b只是使b文件中的方法printx对a文件可见,可以调用它,并没有改变x对b文件的不可见性。。

    回复
    0
  • 取消回复