内置函数
Python解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块。
如果你熟悉Shell编程,了解什么是Shell内置命令,那么你也很容易理解什么是Python内置函数,他们的概念是类似的。
- Python解释器也是一个程序,它给用户提供了一些常用的功能,并给他们起了一个独一无二的名字,这些功能就是内置函数。
- 内置函数是解释器的一部分,他随着解释器的启动而生效。
- Python解释器启动以后,所有内置函数也就生效了,可以拿来直接使用。
- 内置函数的数量必须被严格控制,否则Python解释器会变得臃肿和庞大。一般来说,只有那些频繁使用或者语言本身绑定比较紧密的函数,才会被提升为内置函数。
注意:不要使用内置函数的名字做为标识符使用(例如变量名、函数名、类名、模板名、对象名等),虽然这样做Python解释器不会报错,但这会导致同名的函数被覆盖,从而无法使用。例如:
>>> print = "http://c.biancheng.net/python/" #将print作为变量名
>>> print("Hello World!") #print函数被覆盖,失效
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
print("Hello World!")
TypeError: 'str' object is not callable
快速获取Python内置函数方法
输入代码 dir(builtins) 可直接打印Python内置函数
标准库
- Python 标准库相当于解释器的外部扩展,它并不会随着解释器的启动而启动,要想使用这些外部扩展,必须提前导入。Python 标准库包含了很多模块,要想使用某个函数,必须提前导入对应的模块,否则函数是无效的。
- Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案。其中有些模块经过专门设计,通过将特定平台功能抽象化为平台中立的 API 来鼓励和加强 Python 程序的可移植性。
Python常用的的标准库有:
名称 | 作用 |
---|---|
datetime | 为日期和时间处理同时提供了简单和复杂的方法。 |
zlib | 直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 tarfile。 |
random | 提供了生成随机数的工具。 |
math | 为浮点运算提供了对底层C函数库的访问。 |
sys | 工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。 |
glob | 提供了一个函数用于从目录通配符搜索中生成文件列表。 |
os | 提供了不少与操作系统相关联的函数。 |
三方库
- 网络爬虫
requests:https://pypi.org/project/requests/ 简洁且简单的处理HTTP请求的第三方库
scrapy:https://scrapy.org/ 快速、高层次的Web获取框架
- 数据分析
numpy:http://www.numpy.org/ 开源数值计算扩展第三方库
scipy:https://pypi.org/project/scipy/ 专为科学以及工程计算的第三方库
pandas:http://pandas.pydata.org/ 可高效地操作大型数据集的第三方库
- 文本处理
pdfminer:https://pypi.org/project/pdfminer/ 从PDF文档中提取各类信息的第三方库
openpyxl:https://pypi.org/project/openpyxl/ 处理Microsoft Excel文档的Python第三方库
python-docx:https://pypi.org/project/python-docx/ 处理Microsoft Word文档的Python第三方库
beautifulsoup4:https://pypi.org/project/beautifulsoup4/ 从HTML和XML文件中解析出数据的第三方库
- 用户图形界面
PyQt5:https://pypi.org/project/PyQt5/ 成熟的商业级GUI第三方库
wxpython:https://pypi.org/project/wxPython/ 优秀的GUI图形库
pygtk:https://pypi.org/project/PyGTK/ 轻松创建具有图形用户界面程序的第三方库
- 机器学习
Scikit-learn:https://scikit-learn.org/stable/ 简单且高效的数据挖掘和数据分析工具
Tensorflow:https://pypi.org/project/tensorflow/ 人工智能学习系统
Theano :http://deeplearning.net/software/theano/ 执行深度学习中大规模神经网络算法的运算
- Web开发
Django:https://pypi.org/project/Django/ 最流行的开源Web应用框架
Pyramid:https://pypi.org/project/pyramid/ 通用、开源的Python Web应用程序开发框架
Flask:https://pypi.org/project/Flask/ 轻量级Web应用框架
- 游戏开发
Pygame:https://www.python.org/ 面向游戏开发入门的Python第三方库
Panda3D:http://www.panda3d.org/ 开源、跨平台的3D渲染和游戏开发库
cocos2d:https://pypi.org/project/cocos2d/ 构建2D游戏和图形界面交互式应用的框架
- 数据可视化
Matplotlib:https://matplotlib.org/ 提供数据绘图功能的第三方库,主要进行二维图表数据展示
TVTK:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 图形应用函数库,是专业可编程的三维可视化工具
mayavi:https://pypi.org/project/mayavi/ 方便实用的可视化软件