初面网初面网

模块和包

概念

python里说的包,形式上是文件夹,可以有子文件、子文件夹。

python文件实际上可以视为一个模块。

如果我们在一个文件夹里新建__init__.py文件,那么这个文件夹就能够被python系统识别为一个真正意义上的python包。

包的导入

import package

package是想要导入的包名。比如我们有个lib包,那么我们就要写import lib来导入。

模块的导入

from package import module

pacakage,包名;module,包中的模块。

假设在lib包中,我们有一个find包,find包里有一个名为search.py的模块,那么我们可以写:from lib.find import search,这样我们就可以使用search模块里面的属性和方法了。

假如我们的模块有重名的情况,但是又想两个都用,此时可以用as给予模块一个别名。例如有两个search模块,给其中一个改名,可以用from lib.find import search as find_search

其实也可以将模块全部导入:

from package import *

用星号可以取代包名,表示"任意"

模块的导入(使用__init__.py)

如果在一个内层包的init文件里写了导入,那么在外部调用的时候可以省略很多路径的书写,简化导入。

假设,我们有lib包,里面有find包,有search模块,那么我们可以在lib包的__init__.py文件中使用前面的导入方法写好导入。

# lib __init__.py
from ./find import search
# 这里from的时候使用了相对路径,因为find包和__init__.py是同级的,都是lib的子级

当我们想调用search模块里的方法的时候,只需使用下面这行即可:

from lib import search

第三方包

别人制作好的,既非官方也非使用者制作的包被称作第三方包。一般会用pip和easy_install获取。

pip在安装python的时候基本都会自带(python3.4以上),一般也主要使用pip去安装包。命令行是:

pip install 包名

pip install -i http://pypi.douban.com/simple/ 包名

pip install 包名==版本号

这里带-i的命令指定了下载源,这样pip就不会绕远路去国外下载。

检查pip版本可以用下面这行:

pip -V

想卸载某个包可以使用下面这句:

pip uninstall 包名

更新于 2026/6/7