您在这里:首页 > 深入 Python > 对象和面向对象 > 使用 from module import 导入模块 | << >> | ||||
深入 Python从 Python 新手到专家 |
Python 有两种导入模块的方式。两者都很有用,您应该知道何时使用哪一种。一种方式是 import module,您已经在2.4 节 “一切都是对象” 中见过。另一种方式实现了相同的功能,但有一些细微而重要的区别。
以下是基本的 from module import 语法
from UserDict import UserDict
这类似于您熟悉且喜爱的 import module 语法,但有一个重要的区别:导入模块 types 的属性和方法会直接导入到本地命名空间中,因此可以直接使用它们,而无需使用模块名称进行限定。您可以导入单个项目,也可以使用 from module import * 导入所有内容。
![]() |
|
Python 中的 from module import * 类似于 Perl 中的 use module;Python 中的 import module 类似于 Perl 中的 require module。 |
![]() |
|
Python 中的 from module import * 类似于 Java 中的 import module.*;Python 中的 import module 类似于 Java 中的 import module。 |
>>> import types >>> types.FunctionType<type 'function'> >>> FunctionType
Traceback (innermost last): File "<interactive input>", line 1, in ? NameError: There is no variable named 'FunctionType' >>> from types import FunctionType
>>> FunctionType
<type 'function'>
什么时候应该使用 from module import?
除此之外,这只是一个风格问题,您会看到 Python 代码以两种方式编写。
![]() |
|
请谨慎使用 from module import *,因为它会使确定特定函数或属性的来源变得困难,从而使调试和重构更加困难。 |
<< 对象和面向对象 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
定义类 >> |