在之前我们有说过类似于random这一些类似的模块,在使用它们的方法的时候,是需要先导入这个模块的;在讲函数、类的时候,我们也有说过,要设计一个可供其他场景调用的函数或类,这种情况下,我们可以先自行打包然后再导入调用即可 这一小节,具体对其进行一下介绍
1,模块定义
Python模块就是一个python文件,以.py结尾,一般在程序的开头部分导入,并可分为如下三类:
- 标准库模块:是内置的,不需要额外下载或配置文件路径之类,如os、datetime、random等等
- 第三方模块:不是python自带的,需要通过自行下载(如pip、镜像下载等),典型的如numpy、pandas等
- 自定义模块:就是自行创建出来的一个py文件,里面包含你需要的函数、类等
2,模块的导入和调用
(1)直接使用import
当想导入整个模块,好方便使用模块中的所有内容时,就可以直接使用import导入整个包,如下
import random
import os
(2)使用form...import...
当不需要导入整个模块,只需要其中少数内容时,可以使用 from [模块名] import [目标名] 的方法,如下
#从time模块中导入sleep方法
from time import sleep
(3)使用import...as...
当模块名太长时,为了后面的调用方便,可以给自定义一个简写名,如下
import numpy as np
import pandas as pd
import matplotlib as mlt
(4)调用目标模块的函数
使用模块名.函数名的方式来进行
import random
print ("随机数: ", random.random())
(5)搜索路径
当在程序中导入一个模块的时候,python会按如下路径去寻找要导入的模块:
1,当前文件所在目录
2,搜索在shell变量PYTHONPATH中的所有目录(简单理解就是查找设定的环境变量)
3,再找不到就去找默认路径,然后再找不到就报错了
如果要导入一个自定义路径的模块,可以借用sys模块,如下
import sys
sys.path.append('想导入的模块所在路径')
import 模块名
路径写法和相对路径
绝对路径:从根目录开始的完整路径,如/home/user/documents/file.txt
相对路径:从当前文件所在目录开始的路径,以'..'开头表示向上走一级,'../../'表示向上走两级
3,dir()函数
返回指定对象内所有定义的所有名称的列表。可用来返回某一模块内所有指定的函数、类和变量列表,如下
import os
print(dir(os))