为什么需要模块(Module)?
- 当开发一个复杂的项目时,代码量成千上万,为了更好地组织地代码、提高开发效率;
- 提高代码的可重用性;
- 提高代码的可阅读性;
- 使程序模块化,结构更加清晰,提高开发效率,利于任务分配;
什么是模块?
- 从表象上讲,Python模块就是一个以.py结尾的Python文件。模块的目的是使得你可以将相关功能的代码组织到一起,进而使得代码容易理解和阅读。
- 模块中能够定义类、函数、变量。
模块的分类?
- 从模块的来源,可将模块分为如下三大类:
1.内置模块
2.自定义模块
3.第三方模块(Python之所有能够如此的应用之广泛,其中一个很重要的原因是Python的第三方模块特别多,涉及各个方向领域)
模块导入?
- import 模块名
- import 模块名 as 别名
- from 模块名 import 函数名/类/变量
import collections
isinstance(obj, collections.Iterator)
isinstance(obj, collections.Iterable)
from collections import Iterator,Iterable
isinstance(obj, Iterator)
isinstance(obj, Iterable)
- from 模块名 import * (此种方式尽量避免,有可能造成命名空间的污染)
模块名
- 当一个模块被直接运行时,它的__name__变量的值为__main__;
- 而当一个模块被作为模块导入时,他的__name__变量的值就是其模块名;
什么是包(Package)?
- 当模块越来越多的时候,为了进一步更好地组织代码,可以将模块进行划分、组织和管理,形成包;
- 包是一个文件夹(目录级别),该文件夹下有许多模块,通常我们必须要求有一个__init__.py 文件。这个文件可以是一个空文件,表示当前目录是一个包。