在 Python 中使用 "as" 而不使用 from 导入的规则是什么

What are the rules for importing with "as" in Python without using from

我试图在 Python 2.7

中导入以下函数
import scipy.signal.savgol_filter as sgolay

我收到以下错误:

ImportError: No module named savgol_filter

savgol_filter 是一个函数,而不是一个模块,所以这个错误是有道理的。那么我的问题是,如果不使用 "from" 这个词,除了模块之外,是否无法导入任何东西?

换句话说,以下作品:

from scipy.signal import savgol_filter as sgolay

但是一般来说,下面的"sub_part"需要是一个模块吗?

import my_module.sub_part as some_name

我看到很多文章都建议 "sub_part" 不需要是一个模块。 scipy 是否有什么棘手的事情导致它不起作用?

谢谢,

吉姆

import 用于导入模块。如果您不导入模块,那么您应该查看它是否是一个对象并创建一个这样的实例: </p> <pre><code>import scipy as sp sgolay = scipy.signal.savgol_filter #Other stuff to do...

一般来说,如果做import thingimport thing.subthingimport thing.subthing.subsubthing等,最右边的东西需要是一个模块。只有 from 形式允许导入非模块的东西。如果您想对 import 语句的形式及其允许的内容有一个明确的说明,Python language reference 对其进行了非常详细的解释,但这是一个非常密集的阅读。