Appearance
模块和包
概念
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文件中使用前面的导入方法写好导入。
python
# 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 包名