导入不起作用

vks*_*vks 4 python python-import

我有两个文件说a.py和b.py.

在a.py中,我们这样做

import xxx
from b import *
Run Code Online (Sandbox Code Playgroud)

在b.py中我们有一个需要的功能module xxx.现在,当b.py从中调用函数时a.py,无法找到该模块xxx.

为什么这可以解决这个问题?我不能做import xxx在b.py出于某种原因.

MCV:

a.py

import xxx
from b import *
fun()
Run Code Online (Sandbox Code Playgroud)

b.py

def fun():
    xxx.dosomething()
Run Code Online (Sandbox Code Playgroud)

错误:

Global name xxx not defined

Kal*_*llz 5

在python中,所有模块都有自己的全局命名空间,并且创建包含所有内置名称的命名空间,并且模块不与其他仅内置命名空间共享它是常见的并且可用于所有模块,当您导入模块时添加到模块全局命名空间中,而不是添加到内置命

在此输入图像描述

import语句有两个作用:

一,如果请求的模块尚不存在,则执行导入文件中的代码

两个使它可用作模块.后续导入语句将跳过第一步.

并且重点是模块中的代码将被执行一次,无论从各种其他模块导入多少次.

资源