关于"进口"的基本问题

dra*_*ide 3 python import

我对Python的import陈述有一些疑问:

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

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

请考虑我是一个Python新手

Dav*_*ebb 6

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

因此,通过简单的方法,import您始终必须参考模块:

>>> import datetime
>>> day = datetime.date.today()
Run Code Online (Sandbox Code Playgroud)

但是from import你可以直接引用这些项目:

>>> from datetime import date
>>> day = date.today()
Run Code Online (Sandbox Code Playgroud)

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

从不同目录导入模块的最简单方法是将该目录添加到您的PYTHONPATH目录中.