day05常用模块的学习

常用模块的学习

1、模块定义:

模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能)
本质就是.py文件(文件名:test.py,对应的模块名:test)
包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件)

2、导入方法

import module_name
import module_name,module2_name
from module_alex import *

尽量不用import *

from module_alex import logger as logger_alxe

3、import本质(路径搜索和搜索路径)

import module_alex 本质就是将module_alex中的代码解释完赋值给module_alex这个变量,调用函数和变量需要加上模块名

from module_alex import name
相当于只解释了name变量,可以直接使用,不需要加模块名

导入模块的本质就是把python文件解释一遍
导入包的本质就是执行包下的__init__.py文件

import module_name-> module_name.py ->module_name.py的路径->sys.path
os.path.abspath(file) 取文件当前绝对路径
获取目录名:os.path.dirname()

sys.path是一个列表,要把导入文件的目录放到sys.path列表中,sys.path.insert()插入到最前面,sys.path.append()增加到列表中

导入包下的其他模块要先修改__init__.py
相对导入:from . import test1

4、导入优化

多次调用模块中的方法,可以使用from module_name import method_name 提高效率

5、模块的分类

(1)标准库
(2)开源模块
(3)自定义模块(实际上就是自己写的python文件)

标准库:(自己试试)

(1)time 、datetime
(2)random
(3) os
(4)sys
(5)shutil 文件处理(压缩、拷贝等)
(6)shelve 持久化k,v数据,pickle支持的任何python数据类型
(7)xml xml格式数据处理
(8)pyyaml yaml格式数据处理
(9)configparser 配置文件处理
(10)hashlib 加密
(11)hmac 加密
(12)re 正则表达式

你可能感兴趣的:(python)