您当前的位置:首页 > 互联网教程

python的框架有哪些 知乎

发布时间:2025-05-12 03:53:29    发布人:远客网络

python的框架有哪些 知乎

一、python的框架有哪些 知乎

1. Django。如楼上所说,是一个全能型框架。目前 Django的使用面还是很广的,有学习的价值,但是不建议初学者学习,因为要学习的东西太多了,一下子难以吸收会失去兴趣。当然,Django的目的是为了让开发者能够快速地开发一个网站,它提供了很多模块,其中我最喜欢的就是 admin模块,your.site.com/admin就进入了网站的后台(内置的哦~)方便地对数据进行操作,等等。。。。因此,如果对 Django熟悉的话,papapa一下子就写好一个网站的原型了。

2. Tornado。传说中性能高高的框架。Tornado是一个很好的框架,支持异步处理的功能,这是它的特点,其他框架不支持。另外一点是,Tornado的设计似乎更注重 RESTful URL。但 Tornado提供了网站基本需要使用的模块外,剩下的则需要开发者自己进行扩展。例如数据库操作,虽然内置了一个 database的模块(后来独立出去了,现在叫做 torndb,bdarnell/torndb· GitHub)但是不支持 ORM,快速开发起来还是挺吃力的。如果需要 ORM支持的话,还需要自己写一层将 SQLAlchemy和 Tornado联系起来,而且这里还有一个坑。

BTW:知乎就是基础 Tornado开发的。

3. Bottle。Bottle和 Flask都属于轻量级的 Web框架。但是 Bottle似乎落寞了。我觉得跟他的 API设计有关系。个人认为 Bottle使用起来不那么顺手,因此也用得少。这里不做太多介绍。

4. web.py。也是很轻的一个框架,使用不多,也不做介绍。

5. web2py。我看楼上都没有对这个框架做介绍。这个框架是 Google在 web.py基础上二次开发而来的,兼容 GAE。性能据说很高,曾经用他来做自己的主页,感觉也还不错。缺点同样是对扩展支持不太好,需要自己进行扩展。

6. Quixote。著名的豆瓣就是基于 Quixote开发的。跟上面几个框架不同,Quixote的路由会有些特别。另外 Quixote的性能据说也好。

二、Python的代表性Web框架有哪些

Django是一个开源的Web应用框架,由Python写成,支持许多数据库引擎,可以让Web开发变得迅速和可扩展,并会不断的版本更新以匹配Python最新版本,如果是新手程序员,可以从这个框架入手。

CherryPy是一种用于Python的、简单而非常有用的Web框架,其主要作用是以尽可能少的操作将Web服务器与Python代码连接,其功能包括内置的分析功能、灵活的插件系统以及一次运行多个HTTP服务器的功能,可与运行在最新版本的Python、Jython、Android上。

web2py是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速、安全以及可移植的数据库驱动的应用,兼容

TurboGears可以快速实现Web应用程序开发,富含丰富的特殊性能,可以解决更多的框架领域问题,从简单到复杂的项目都可以开发,并具有实时的多数据库支持和灵活的ORM,简单的文档和最小的设置使它成为一个理想的使用框架。

Pylons是一个开源的Web应用框架,使用Python语言编写,它对WSGI标准进行了扩展应用,提升了重用性且将功能分割到独立的模块中,而且提供了在线调试器,易于错误跟踪!

三、python常用的8个框架

Django是一个开放源代码的Web应用框架由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。Django是一个基于MVC构造的框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以Django里更关注的是模型(Model)、模板(Template)和视图(Views称为MTV模式。它们各自的职责如下:

模型(Model),即数据存取层处理与数据相关的所有事务:如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

模板(Template),即表现层处理与表现相关的决定:如何在页面或其他类型文档中进行显示。视图(View),即业务逻辑层存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。

Tornado是一种Web服务器软件的开源版本。Tornado和现在的主流Web服务器框架(包括大多数Python的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其非阻塞的方式和对epollf的运用,Tornado每秒可以处理数以千计的连接,因此Tornado是实时Web服务的一个理想框架。

Bottle是一个Python Web框架,整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。初学web开发可以拿来玩玩,其语法简单,部署也很方便。

web.py是一个轻量级Python web框架,它简单而且功能强大。web.py是一个开源项目。该框架由已故美国作家、Reddit联合创始人、RSS规格合作创造者、著名计算机黑客Aaron Swartz开发。web.py目前已被很多家大型网站所使用。web.py简单易学,只要有Python基础,掌握web.py就非常容易。

Flask是一个使用Python编写的轻量级Web应用框架。其WSGl工具箱采用Werkzeug模板引擎则使用Jinja2。Flask使用BSD授权。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

Pyramid是一个小型,快速的Python webframework.,是Pylons Project的一部分,采用的授权协议是BSD-like license。Pyramid吸取了Zope、Pylons和Django的优点,适合开发大型项目,也适合小项目,拥有非常好的性能。

Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、!监测和自动化测试Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、.sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。Scrap,是碎片的意思,这个Python的爬虫框架叫Scrapy。

pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。它是使Python成为强大而高效的数据分析环境的重要因素之一。