小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
废话不多说,开始今天的题目:
问:说说Python模块主要分哪三类?
答:在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件。模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用,它可以被其他程序引用,从而使用该模块里的函数等功能,使用Python中的标准库也是采用这种方法。
下面来说说Python模块主要分三种:
1、系统内置模块
os模块:os模块包含普遍的操作系统功能
sys模块:提供了一系列有关Python运行环境的变量和函数
random模块:random模块用于生成随机数
time 模块: 主要包含各种提供日期、时间功能的类和函数
datetime模块:对time模块的一个高级封装
shutil模块:是一种高层次的文件操作工具
logging模块:将日志打印到了标准输出中
re模块:可以直接调用来实现正则匹配
pymysql模块:连接数据库,并实现简单的增删改查
threading模块:提供了更强大的多线程管理方案
queue模块:实现了多生产者,多消费者的队列
json模块:用于字符串和数据类型间进行转换json
当然还有其他模块,大家可以在评论区继续补充 。由于每个模块的内容都很多,就没有举例详细介绍了,大家可以谷歌搜索一下 。
2、开源(三方)模块
Requests:最富盛名的http库。每个Python程序员都应该有它。Scrapy:从事爬虫相关的工作,这个库也是必不可少的。
NumPy:为Python提供了很多高级的数学方法。
matplotlib:一个绘制数据图的库。对于数据分析师非常有用。
Pygame:开发2D游戏的时候可以用上 。
Scapy:用Python写的数据包探测和分析库。
Django:开源Web开发框架,它鼓励快速开发,并遵循MVC设计,开发周期短。
Py2exe:将python脚本转换为windows上可以独立运行的可执行程序。
BeautifulSoup:基于Python的HTML/XML解析器,简单易用。
PyGtk:基于Python的GUI程序开发GTK 库。
当然三方的库还有很多常见的,希望大家可以在评论区继续补充 。
3、自定义模块
自定义模块是自己写的模块,对某段逻辑或某些函数进行封装后供其他函数调用。注意:自定义模块的命名一定不能和系统内置的模块重名了,否则将不能再导入系统的内置模块了。例如:自定义了一个sys.py模块后,再想使用系统的sys模块是不能使用的。
如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!