我对Python的import
声明有一些疑问:
import <module>
和from <module> import *
之间有什么区别?
如何导入不在同一目录中的模块? (而不是PythonHome
)
请考虑我是Python新手
答案 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)