⑴ python有哪些不错的web开发框架常用的有哪些
Python作为一门应用非常广泛的编程语言,本身针对Web开发提供了非常多的框架,既有重量级的,也有轻量级的,下面我简单介绍几个比较常见的PythonWeb开发框架,感兴趣的朋友可以自己尝试一下:
Django
这是Python一个非常成熟稳重的Web框架,基于MVC模式(又说MTV模式,本质其实一样),优点是文档完善、资料丰富、功能要素齐全,几乎你所能想到的要点,Django都已实现或集成,只需要简单开发和配置,就可快速搭建一个Web系统,缺点也显而易见,大包大揽,追求极致和完善,有些臃肿,不如Falsk等框架轻巧灵活,学习和使用起来也具有一定难度,但对于大型项目开发来说,是一个很不错的选择:
Flask
这是Python一个非常轻巧灵活的Web框架,可扩展性和可定制性都非常高,WSGI工具箱采用Werkzeug,模板引擎则使用JinJa2,与Django相比,比较轻便,也容易学习和掌握,如果你初学PythonWeb开发的话,可以学习一下这个框架,非常不错,对于中小型网站开发来说,也是一个不错的选择,缺点就是模块扩展相对较少(社区还在开发中),有许多功能可能需要自己实现:
测试代码如下,非常简单,只需几行代码就可快速搭建一个Web系统,运行启动程序,就可直接在浏览器中看到预期效果,悔拍非常容易:
Tornado
这也是一个轻量级的PythonWeb开发框架,与其他Web框架相比,最明显的区别就是非阻塞式的,运行速度非常快,每秒可以处理数以千计的连接,因此可以看做是一个实时的Web框架,如果你追求实时性能和效率的话,可以学习一下这个框架,非常不错,只不过有许多功能也需要自己亲自实现:
测试代码如下,也非常简单,只需简单几行代码就可快速构建一个Web系统,运行启动程序,就可在浏览器对应端碧则羡口中看到效果:
目前,就介绍这3个不错的PythonWeb开发框架吧,对于大部分Web开盯陵发来说,完全够用了,当然,还有许多其他框架,像Pylons,Bottle等也有非常不错,根据实际项目需求,选择适合的一个框架就行,网上也有相关资料和教程,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
⑵ 最受欢迎的 15 大 Python 库有哪些
Python常用库大全,看看有没有你需要的。
环境管理
管理 Python 版本和环境的工具
p – 非常简单的交互式 python 版本管理工具。
pyenv – 简单的 Python 版本管理工具。
Vex – 可以在虚拟环境中执行命令。
virtualenv – 创建独立 Python 环境的工具。
virtualenvwrapper- virtualenv 的一组扩展。
包管理
管理包和依赖的工具。
pip – Python 包和依赖关系管理工具。
pip-tools – 保证 Python 包依赖关系更新的一组工具。
conda – 跨平台,Python 二进制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分发的新标准,意在取代 eggs。
包仓库
本地 PyPI 仓库服务和代理。
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 – 软件构建工具。
交互式解析器
交互式 Python 解析器。
IPython – 功能丰富的工具,非常有效的使用交互式 Python。
bpython- 界面丰富的 Python 解析器。
ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。
文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
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 – 一个用于把汉字转换为拼音的库。
⑶ 谁能简单说一下python几个框架的特点吧
1.CubicWeb
CubicWeb的最重要的功能是其代码的可重用性,由一个个代码单元组成。它灵活又强大,并且还有一些特别的功能,包括RQL查询语言和支持有效编码的语义视图功能。这是语义Web应用程序的最佳解决方案,并且提供理想的环境。
作为一个程序员,我们必须了解Python这门编程语言的灵活和强大。框架的选择取决于Web应用程序的使用目的和复杂程度。测量项目所需的负荷、可扩展性和效率是关键。
官方网站:http://www.cubicweb.org/
2.Zope2
Zope是不同Web框架集合在一起的完整家庭。与其他框架相比,zope2在当前的开发环境中对于内容管理系统是相当有限的。 Zope工具包是一个很好的库资源,允许使用重用代码和不同的库。
官方网站:https://pypi.python.org/pypi/Zope2
3.web2py
web2py最重要的因素是其外部零依赖,可以创建、复原、管理和修改在浏览器中的应用程序。对于一些简单的web开发任务,大部分都可以自动化快速开发。程序员甚至不需要再准备单一的开发、调试、测试、部署和数据库处理的封装包。内置的Web界面中这些都有,在使用之前也不需要进行安装。
官方网站:http://www.web2py.com/
4.TurboGears
TurboGears也称为是框架的终结者,因为它虽然有着其他Python框架都有的功能,却不像其他框架那样有局限性。它甚至能适用于简单的微架构项目。它给人的感觉就不像是工作在框架上,而像是在写新的功能。你可以在几分钟之内可以创建一个read-to-extend应用,并且我们可以在网上找到大量的教程。
官方网站:http://www.turbogears.org/
5.Pylons
灵活性是pylons框架的主要特点之一。它可以将不同Python框架提供的某些最好功能,整合到同一个地方。Pyramid是pylons的第一批产品之一,它把重点放在了快速和灵活开发实践上。你可以挑选任何你认为可以提高Web开发效率的功能整合到一起。
官方网站:http://www.pylonsproject.org/
6.Grok
它由Zope工具包提供支持,并且一开始的时候是作为一个易扩展的Zope工具箱,为了方便那些菜鸟程序员的使用而开发 的。对于Web应用,Grok不但能提供多个构件,还有一个随时可以提供支持的很好社区。它提供了一种更为简单和灵活的学习Python的模式。它配备的可DRY方法使得它成为了一个很好的工具。
官方网站:http://grok.zope.org/
7.Web.py
之所以说这是一款非常独特的框架,主要是因为它的简单性和功能强大的开发能力。你可以用Python语言舒舒服服地编写web应用程序。你会因为它的零局限性和易用性喜欢上web.py。有些程序员可能会发现它对功能的限制比较少,因为它预留了整合的空间,所以你不必一下子加载所有的功能,尤其是那些你并不需要的。
官方网站:http://webpy.org/
8.Pyramid
Pyramid以其高效率和快节奏的开发能力而出名。这个框架最妙的是包含了一些Python,Perl和Ruby提供的最独特的功能。此开源Web框架有一个独立于平台的MVC结构,提供了开发的最简途径。此外,它还是高效开发重用代码的首选平台之一。
官方网站:http://www.pylonsproject.org/projects/pyramid/about
9.CherryPy
CherryPy起源的其中一个最重要的原因是,它与Python兼容,并且它Python化的接口允许开发人员像Python提供的其他任何模块一样将其整合。另一个优秀的特点是能够自定义各个功能,并配备了本地适配器(mod_python),使得它非常适合开发。它为每一个WSGI功能适配器提供支持,并允许CherryPy的广泛实施。
官方网站:http://www.cherrypy.org/
10.Flask
Flask是一款可扩展却又简单的微架构。可能刚用的时候你会觉得它缺少某些功能,如表单验证、数据库抽象层、添加常用功能的第三方库。但是,它允许扩展,使得它更易于添加所需的功能。它的有些功能如单元测试非常适用于开发,并且支持客户端应用程序使用安全的cookies。它更适用于轻量级的应用程序和项目。
⑷ python数据挖掘常用工具有哪几种
python有强大的第三方库,广泛用于数据分析,数据挖掘、机器学习等领域,下面小编整理了python数据挖掘的一些常用库,希望对各位小伙伴学习python数据挖掘有所帮助。
1. Numpy
能够提供数组支持,进行矢量运算,并且高效地处理函数,线性代数处理等。提供真正的数组,比起python内置列表来说, Numpy速度更快。同时,Scipy、Matplotlib、Pandas等库都是源于 Numpy。因为 Numpy内置函数处理数据速度与C语言同一级别,建议使用时尽量用内置函数。
2.Scipy
基于Numpy,能够提供了真正的矩阵支持,以及大量基于矩阵的数值计算模块,包括:插值运算,线性代数、图像信号,快速傅里叶变换、优化处理、常微分方程求解等。
3. Pandas
源于NumPy,提供强大的数据读写功能,支持类似SQL的增删改查,数据处理函数非常丰富,并且支持时间序列分析功能,灵活地对数据进行分析与探索,是python数据挖掘,必不可少的工具。
Pandas基本数据结构是Series和DataFrame。Series是序列,类似一维数组,DataFrame相当于一张二维表格,类似二维数组,DataFrame的每一列都是一个Series。
4.Matplotlib
数据可视化最常用,也是醉好用的工具之一,python中着名的绘图库,主要用于2维作图,只需简单几行代码可以生成各式的图表,例如直方图,条形图,散点图等,也可以进行简单的3维绘图。
4.Scikit-Learn
Scikit-Learn源于NumPy、Scipy和Matplotlib,是一 款功能强大的机器学习python库,能够提供完整的学习工具箱(数据处理,回归,分类,聚类,预测,模型分析等),使用起来简单。不足是没有提供神经网络,以及深度学习等模型。
5.Keras
基于Theano的一款深度学习python库,不仅能够用来搭建普通神经网络,还能建各种深度学习模型,例如:自编码器、循环神经网络、递归神经网络、卷积神经网络等,重要的是,运行速度几块,对搭建各种神经网络模型的步骤进行简化,能够允许普通用户,轻松地搭建几百个输入节点的深层神经网络,定制程度也非常高。
6.Genism
Genism主要用来处理语言方面的任务,如文本相似度计算、LDA、Word2Vec等。
7.TensorFlow
google开源的数值计算框架,采用数据流图的方式,可灵活搭建深度学习模型。