Python如何使用from...import直接导入子模块深层嵌套的函数
Python多层嵌套对象导入方法
可以直接导入ricker函数实现无前缀调用,对应的导入语句为:
from scipy.signal import ricker
执行后就可以直接使用ricker(...)调用目标函数。
通用多层嵌套导入规则
不管目标对象的嵌套层级是2层还是10层,都遵循统一的导入语法:
- 基础规则:把从根模块到目标对象所属父模块的完整路径用
.拼接,放在from关键字后,再通过import指定要导入的目标对象即可。 - 语法格式:
from 根模块.一级子模块.二级子模块.…….N级子模块 import 目标对象
举个10层嵌套的示例,假设目标函数完整路径为a.b.c.d.e.f.g.h.i.j.test_func,只需要执行如下导入语句即可直接调用:
from a.b.c.d.e.f.g.h.i.j import test_func # 后续直接调用即可 test_func()
注意:导入路径中的所有前置节点必须是合法的Python包/模块,不能是类、实例等非模块对象。如果目标对象是类的属性、实例方法这类隶属于非模块对象的成员,无法通过import语句直接导入到当前命名空间,仍需要先导入所属类/实例后再通过成员访问语法调用。
内容的提问来源于stack exchange,提问作者lmixa
相关产品推荐
相关产品推荐

