使用`import library name`和`from library name import *`包含python库

时间:2015-05-19 19:32:10

标签: python

在以下两个陈述中:

  1. import base64
  2. from base64 import *
  3. 因为两者都会导入完整的库但是我们需要为第一种情况编写base64.b64encode()(从base64库调用b64encode()函数)并在第二种情况下使用相同的函数,我们得到一个

    NameError: name 'base64' is not defined

    对于第二种情况,b64encode()用于调用函数。

    如果他们完全导入了库,那么会导致这种差异。

    注意:base64库仅用作示例。 编辑:我希望能解释为什么会发生这种情况而不是更好用。

1 个答案:

答案 0 :(得分:0)

import module导入模块/包,因此可以通过module获取。

如果你使用from module import *,那么> 模块/包中的所有内容都将被导入到(让我们称之为)全局命名空间。因此module本身不会导入。

在询问(下一个)问题时,请考虑一些基础研究,这个问题已经被回答了几十万次。