Python导入指令

Python导入指令,python,numpy,Python,Numpy,我发现,如果我要导入软件包,并且需要快捷方式,我必须编写 Import numpy.linalg as lg 但我不知道用这些格式类型编写导入指令的目的是什么 import numpy.linalg import numpy.numpy.polynomial.polynomial 因为这些指令以相同的方式导入所有numpy包,就好像我只编写代码一样 import numpy 最后,从多项式访问某些函数的语法是相同的 import numpy xx = numpy.polynomial.po

我发现,如果我要导入软件包,并且需要快捷方式,我必须编写

Import numpy.linalg as lg
但我不知道用这些格式类型编写导入指令的目的是什么

import numpy.linalg
import numpy.numpy.polynomial.polynomial
因为这些指令以相同的方式导入所有
numpy
包,就好像我只编写代码一样

import numpy
最后,从多项式访问某些函数的语法是相同的

import numpy
xx = numpy.polynomial.polynomial.polydiv([2],[6])
对于这两种情况

import numpy.numpy.polynomial.polynomial
xx = numpy.polynomial.polynomial.polydiv([2],[6])
那么这样做的目的是什么呢

  • NumPy模块自身的存储对象在哪里?我可以在NumPy包中的每个模块的子文件夹中找到函数、类等的定义,但找不到NumPy本身的任何文件,例如
    NumPy.sin()
    function


  • 导入包(如
    numpy
    )并不保证导入其子模块和子包<由于
    numpy
    模块本身执行的导入,code>import numpy会加载
    numpy.linalg
    numpy.polymone
    ,但这不是保证,并且不会发生在所有numpy子模块上。比如说,

    >>> import numpy
    >>> numpy.distutils
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'module' object has no attribute 'distutils'
    >>> import numpy.distutils
    >>> numpy.distutils
    <module 'numpy.distutils' from 'C:\Python27\lib\site-packages\numpy\distutils\__init__.pyc'>
    
    导入numpy >>>numpy.distutils 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 AttributeError:“模块”对象没有属性“distutils” >>>导入numpy.distutils >>>numpy.distutils

    至于
    numpy
    名称空间中对象的源代码,不同对象的源代码差别很大,而且可能非常复杂。例如,
    numpy.sin
    是一个由生成的C代码编译而成的ufunc,该代码生成器使用一堆其他文件中的组件。

    它是
    import
    ,而不是
    import
    。案例很重要。
    import numpy as np
    对我来说已经足够了。
    numpy
    \uuuu init\uuuuu.py
    有一打
    。导入…
    语句。这显示了无需进一步导入即可使用的功能。但是否有任何正常的
    numpy
    功能需要单独导入?除了
    将numpy作为np导入之外,我从未使用过任何东西
    scipy
    的组织方式不同,需要为每个包单独导入,例如从scipy导入sparse
    @hpaulj:“正常”NumPy功能导入
    ?我认为
    numpy.\uuuu init\uuuuu
    会自动加载所有这些,但我认为这不是一个有文件证明的保证。你能引用init中最相关的导入代码吗?@hpaulj: