《Python高手之路(第3版)》——2.4 框架

简介:

本节书摘来自异步社区《Python高手之路(第3版)》一书中的第2章,第2.4节,作者[法]Julien Danjou,王飞龙 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.4 框架

有许多不同的Python框架可用于开发不同的Python应用。如果是Web应用,可以使用Django(https://www.djangoproject.com/) 、Pylons(http://www.pylonsproject.org/) 、TurboGears(http://turbogears.org/) 、Tornado(http://www.tornadoweb.org/) 、Zope(http://www.zope.org/) 或者Plone(http://plone.org/) 。如果你正在找事件驱动的框架,可以使用Twisted(http:// twistedmatrix.com/)或者Circuits(https://bitbucket.org/prologic/circuits/) 等。

框架和外部库的主要不同在于,应用程序是建立在框架之上的,代码对框架进行扩展而不是反过来。而外部库更像是对代码的扩展,赋予你的代码更多额外的能力,而框架会为你的代码搭好架子,只需要通过某种方式完善这个架子就行了,尽管这可能是把双刃剑。使用框架有很多好处,如快速构建原型并开发,但也有一些明显的缺点,如锁定(lock-in)问题。因此,在决定使用某个框架前需要把这些都考虑在内。

这里推荐的为Python应用选择框架的方法很大程度上类似于前面介绍过的外部库的选择方法,适用于框架是通过一组Python库来进行分发的情况。有时它们还包含用于创建、运行以及部署应用的工具,但这并不影响你采用的标准。前面已经提到过,在已经写了大量代码之后更换外部库是十分痛苦的,但更换框架比这还要难受1000倍,因为通常需要完全重写你的应用程序。举例来说,前面提及的Twisted框架还不能完全支持Python 3。如果你基于Twisted的程序在几年之后想要支持Python 3,那么你将非常不幸,除非全部重写代码选用另一个框架或者有人最终为Twisted提供了Python 3的升级支持。

有些框架与其他框架相比更加轻量级。一个简单的比较就是,Django提供了内置的ORM功能,而Flask则没有。一个框架提供的功能越少,将来遇到的问题越少。然而,框架缺少的每个功能同时也是另一个需要去解决的问题,要么自己写,要么再千挑万选去找另一个能提供这个功能的库。愿意处理哪种场景取决于个人的选择,但需慎重选择。当问题出现时从一个框架升级至其他框架是极其艰巨的任务,就算Python再强大,对于这类问题也没有什么好办法。

相关文章
|
3月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
5月前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
277 6
|
1月前
|
机器学习/深度学习 设计模式 测试技术
Python 高级编程与实战:构建自动化测试框架
本文深入探讨了Python中的自动化测试框架,包括unittest、pytest和nose2,并通过实战项目帮助读者掌握这些技术。文中详细介绍了各框架的基本用法和示例代码,助力开发者快速验证代码正确性,减少手动测试工作量。学习资源推荐包括Python官方文档及Real Python等网站。
|
3月前
|
人工智能 开发者 Python
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
355 9
|
3月前
|
JSON 安全 中间件
Python Web 框架 FastAPI
FastAPI 是一个现代的 Python Web 框架,专为快速构建 API 和在线应用而设计。它凭借速度、简单性和开发人员友好的特性迅速走红。FastAPI 支持自动文档生成、类型提示、数据验证、异步操作和依赖注入等功能,极大提升了开发效率并减少了错误。安装简单,使用 pip 安装 FastAPI 和 uvicorn 即可开始开发。其优点包括高性能、自动数据验证和身份验证支持,但也存在学习曲线和社区资源相对较少的缺点。
239 15
|
3月前
|
关系型数据库 API 数据库
Python流行orm框架对比
Python中有多个流行的ORM框架,如SQLAlchemy、Django ORM、Peewee、Tortoise ORM、Pony ORM、SQLModel和GINO。每个框架各有特点,适用于不同的项目需求。SQLAlchemy功能强大且灵活,适合复杂项目;Django ORM与Django框架无缝集成,易用性强;Peewee轻量级且简单,适合小型项目;Tortoise ORM专为异步框架设计;Pony ORM查询语法直观;SQLModel结合Pydantic,适合FastAPI;GINO则适合异步环境开发。初学者推荐使用Django ORM或Peewee,因其易学易用。
279 4
|
3月前
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
248 7
|
5月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
412 45
|
4月前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
233 7
|
4月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
176 2

热门文章

最新文章

下一篇
oss创建bucket