关于“进口”的基本问题

时间:2010-07-30 10:46:32

标签: python import

我对Python的import声明有一些疑问:

  1. import <module>from <module> import *之间有什么区别?

  2. 如何导入不在同一目录中的模块? (而不是PythonHome

  3. 请考虑我是Python新手

2 个答案:

答案 0 :(得分:6)

import将模块导入全局命名空间。 from import将命名项导入命名空间。

因此,使用普通import,您必须始终引用该模块:

>>> import datetime
>>> day = datetime.date.today()

但是使用from import,您可以直接引用这些项目:

>>> from datetime import date
>>> day = date.today()

如果您使用from somemodule import *,它会将模块中的所有内容导入您的命名空间。虽然这似乎很方便,但最好不要这样做。这是令人不悦的,因为在阅读代码时很难分辨出模块中有哪些东西,并且您使用的名称和无意中从模块导入的名称之间可能会发生冲突。

从其他目录导入模块的最简单方法是将该目录添加到your PYTHONPATH

答案 1 :(得分:3)