一、模块和包的概念

在Python中,一个.py文件就称之为一个模块(Module)
Python又引入了按目录来组织模块的方法,称为包(Package)。
1. 模块导入方法:

  • import 语句
    import module1[, module2[,… moduleN]
    当我们使用import语句的时候,Python解释器是怎样找到对应的文件的呢?答案就是解释器有自己的搜索路径,存在sys.path里。
    [’’, ‘/usr/lib/python3.4’, ‘/usr/lib/python3.4/plat-x86_64-linux-gnu’,
    ‘/usr/lib/python3.4/lib-dynload’, ‘/usr/local/lib/python3.4/dist-packages’, ‘/usr/lib/python3/dist-packages’]
  • from…import 语句
    from modname import name1[, name2[, … nameN]]
    这个声明不会把整个modulename模块导入到当前的命名空间中,只会将它里面的name1或name2单个引入到执行这个声明的模块的全局符号表。
  • From…import* 语句
    from modname import *

2、Package包的使用
引入了包以后,只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突。现在,view.py模块的名字就变成了hello_django.app01.views,类似的,manage.py的模块名则是hello_django.manage。

请注意,每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不是一个包。init.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是对应包的名字。

调用包就是执行包下的__init__.py文件

  • init.py的作用
  1. Python中package的标识,不能删除(包其实是一个目录,为了和目录做区别,使用了__init__.py)
  2. 定义__all__用来模糊导入(包的调用中介绍)
  3. 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单)
    如果您将一个或多个模块放在 文件中,那么您有一个包。简而言之,包本质上是一个包含代码的文件夹。包实际上只是一个目录,但是所有包都必须包含一个__init__.py 文件。该文件告诉Python将目录视为包含包

常见的包结构如下:

python  包简介 python包怎么用_Python

  • 导入包的方法:

import 包名.模块名
from 包名 import 模块名
import 包名(注意__init__.py函数的内容)

  • pip 安装第三方模块

第三方模块 通常是指由 知名的第三方团队 开发的 并且被 程序员广泛使用 的 Python 包 / 模块

pip 是一个现代的,通用的 Python 包管理工具
提供了对 Python 包的查找、下载、安装、卸载等功能

安装和卸载命令如下:

#将模块安装到 Python 2.x 环境
 $ sudo pip install pygame
 $ sudo pip uninstall pygame#将模块安装到 Python 3.x 环境
 $ sudo pip3 install pygame
 $ sudo pip3 uninstall pygame