如要问现在最流行与时髦的计算机编程语言是什么?毫无疑问,Python领衔主演,网络上一句“人生苦短,我用Python” 不知换走了多少程序员的真心!
Python近些年随着大数据,云计算、AI等领域的大规模应用,稳步的在编程语言排行榜上逐步上升,业内也把Python提到了一个相当高的地位。可是Python并不是大家想象中的一个新兴的计算机编程语言,它其实在1989年就被荷兰人Guido van Rossum发明了,并于1991年推出了第一个公开发行版本,比企业级软件开发王者的JAVA语言还早了几年。但为什么Python到了近年来才开始了爆发性增长呢?
个人觉得可能由于下述几个原因:
早期计算机性能不高,Python应用的性能代价太大
Python的第三方库支持远不如现今的广泛与成熟
企业级应用框架的缺乏
LINUX阵营的乏力(应用与开发的高端货,现如今随着云计算IaaS站稳脚根)
Python作为脚本语言,被广大程序员忽视乃至于轻视(个人观点,欢迎拍砖)
Python语言流行起来,应该是从OpenStack开始,因OpenStack采用Python进行开发,Django惊艳了不少人,OpenStack作为现今最流行与最广的开源云平台产品,国产云平台中估计都超过9成是源自OpenStack。有了商业的需求,才有了现实社会的直接反应,最大力度的推动了Python的流行;这时广大的程序员回头一看,原来Python已经这么强大,N多诱人的第三库也层出不穷,原本极其复杂的事情可以变得这么简单。
Python现在的发展趋势使全民编程时代成为可能,因为在海量的第三方库面前,你只要有想法,然后用Python来实现就行,“人生苦短,我用Python“。
本人精心整理了一套Python零基础入门教程,如果你想学想加入我们请加群:594767070我可以领取学习资料
常用的Python第三方库列表
环境管理
pyenv – 简单的 Python 版本管理工具。
Vex – 可以在虚拟环境中执行命令。
virtualenv – 创建独立 Python 环境的工具。
virtualenvwrapper - virtualenv 的一组扩展。
包管理
pip –Python 包和依赖关系管理工具。
pip-tools – 保证 Python 包依赖关系更新的一组工具。
conda – 跨平台,Python 二进制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分发的新标准,意在取代 eggs。
包仓库
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。
devpi – PyPI 服务和打包/测试/分发工具。
localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。
分发
PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。
dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。
py2app – 将 Python 脚本变为独立软件包(Mac OS X)。
py2exe – 将 Python 脚本变为独立软件包(Windows)。
pynsist – 创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。
构建工具
buildout – 一个构建系统,从多个组件来创建,组装和部署应用。
BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。
fabricate – 对任何语言自动找到依赖关系的构建工具。
PlatformIO – 多平台命令行构建工具。
PyBuilder – 纯 Python 实现的持续化构建工具。
SCons – 软件构建工具。
交互式解析器
IPython – 功能丰富的工具,非常有效的使用交互式 Python。
bpython - 界面丰富的 Python 解析器。
ptpython – 高级交互式Python解析器,构建于python-prompt-toolkit 之上。
文件
imghdr – (Python 标准库)检测图片类型。
mimetypes – (Python 标准库)将文件名映射为 MIME 类型。
path.py – 对 os.path 进行封装的模块。
pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。
python-magic - 文件类型检测的第三方库 libmagic 的 Python 接口。
Unipath - 用面向对象的方式操作文件和目录
watchdog – 管理文件系统事件的 API 和 shell 工具
日期和时间
Arrow - 更好的 Python 日期时间操作类库。
Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。
dateutil – Python datetime 模块的扩展。
delorean - 解决 Python 中有关日期处理的棘手问题的库。
moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。
PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。
pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。
when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。
文本处理
chardet – 字符编码检测器,兼容 Python2 和 Python3。
difflib – (Python 标准库)帮助我们进行差异化比较。
ftfy – 让Unicode文本更完整更连贯。
fuzzywuzzy – 模糊字符串匹配。
Levenshtein – 快速计算编辑距离以及字符串的相似度。
pangu.py – 在中日韩语字符和数字字母之间添加空格。
pyfiglet -figlet 的 Python实现。
shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 转换形式。
uniout – 打印可读的字符,而不是转义的字符串。
xpinyin – 一个用于把汉字转换为拼音的库。
解析器
phonenumbers – 解析,格式化,储存,验证电话号码。
PLY – lex 和 yacc 解析工具的 Python 实现。
Pygments – 通用语法高亮工具。
pyparsing – 生成通用解析器的框架。
python-nameparser – 把一个人名分解为几个独立的部分。
python-user-agents – 浏览器 user agent 解析器。
sqlparse – 一个无验证的 SQL 解析器。
特殊文本格式处理
tablib – 一个用来处理中表格数据的模块。
Office
Marmir – 把输入的Python 数据结构转换为电子表单。
openpyxl – 一个用来读写 Excel 2010xlsx/xlsm/xltx/xltm 文件的库。
python-docx – 读取,查询以及修改 Microsoft Word2007/2008 docx 文件。
unoconv – 在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。
XlsxWriter – 一个用于创建 Excel .xlsx 文件的 Python 模块。
xlwings – 一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。
xlwt / xlrd – 读写 Excel 文件的数据和格式信息。
relatorio – 模板化OpenDocument 文件。
PDFMiner – 一个用于从PDF文档中抽取信息的工具。
PyPDF2 – 一个可以分割,合并和转换 PDF 页面的库。
ReportLab – 快速创建富文本 PDF 文档。
Markdown
Mistune – 快速并且功能齐全的纯 Python 实现的 Markdown 解析器。
Python-Markdown – John Gruber’s Markdown 的 Python 版实现。
YAML
PyYAML – Python 版本的 YAML 解析器。
CSV
csvkit – 用于转换和操作 CSV 的工具。
Archive
unp – 一个用来方便解包归档文件的命令行工具。
自然语言处理
NLTK – 一个先进的平台,用以构建处理人类语言数据的 Python 程序。
jieba – 中文分词工具。
langid.py – 独立的语言识别系统。
Pattern – Python 网络信息挖掘模块。
SnowNLP – 一个用来处理中文文本的库。
TextBlob – 为进行普通自然语言处理任务提供一致的 API。
TextGrocery – 一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。
文档
Sphinx – Python 文档生成器。
MkDocs – 对 Markdown 友好的文档生成器。
pdoc – 一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。
Pycco – 文学编程(literate-programming)风格的文档生成器。
配置
config – logging 模块作者写的分级配置模块。
ConfigObj – INI 文件解析器,带验证功能。
ConfigParser – (Python 标准库) INI 文件解析器。
profig – 通过多种格式进行配置,具有数值转换功能。
python-decouple – 将设置和代码完全隔离。
命令行工具
cement – Python 的命令行程序框架。
click – 一个通过组合的方式来创建精美命令行界面的包。
cliff – 一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。
clint – Python 命令行程序工具。
colorama – 跨平台彩色终端文本。
docopt – Python 风格的命令行参数解析器。
Gooey – 一条命令,将命令行程序变成一个 GUI 程序。
python-prompt-toolkit – 一个用于构建强大的交互式命令行程序的库。
生产力工具
aws-cli – Amazon Web Services 的通用命令行界面。
bashplotlib – 在终端中进行基本绘图。
caniusepy