正在与python恋爱
这是一篇来自 http://developer.51cto.com/art/201003/187419.htm 的资讯,有些内容需要更新,晚些更新吧。
3年前python已经有如此之多漂亮的库,现在,当然不在话下了,好吧,先回顾一下庞大的Python库,选取点滴,也许它能带给我们一些另类的思考。
SQLObject
SQLObject 可以看做是Python领域的Hibernate。它也是目前python社区中最为成熟方便的O/R mapping工具。和Hibernate相比,SQLObject 利用了动态语言的独有特性,通过灵活使用继承、灵活使用MetaData?能力,能够快速方便定义直接在程序中定义映射类,不用像Hibernate中那样还需单独定义一个XML文件。同样,借助强大的动态能力,SQLObject 还拥有一个Hibernate所远不及的功能,那就是SQLObject 的映射类可以在运行时动态改变自身结构,这也意味着数据库中的表结构也可以在运行时进行改变。总之,对Hibernate略有了解的开发者均能迅速理解SQLObject。虽然我一直认为SQLObject 还远未能将Python 的动态能力发挥到极致。不过这却是一个良好的开始。也许我们可以在不久将来看到更多更具新意的O/R mapping 工具。
TurboGear?Django!
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
Django的主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(Don't Repeat Yourself)。在Django中Python被普遍使用,甚至包括配置文件和数据模型。
4Suite
虽然Python 标准库提供了XML处理工具,但是它只提供一些基本功能。如果你想获得更为强大的XML 处理能力,4Suite是一个更好的选择。
4Suite被称为XML工具中“内行的选择”。除了最基本的Dom-Like和SAX-Like处理库外,4Suite 还提供XInclude,XPointer,XLink,XPath,XUpdate用于XML文档的查询、更新操作等等;提供XSLT完整处理能力。
4Suite不光功能强大,性能也相当不错。这主要是得益于其核心代码部分采用C完成。这在需要处理大量XML文档的地方,4Suite实在是一个完美的选择。
Pyro
Pyro 的全称是“Python Remote Objects”。按照字面即可理解Pyro 的功能:提供远程对象。Pyro 为Python语言提供异常简洁的RPC解决方案。其实Python语言中不乏一些更加通用的远程调用方案,例如都是基于XML 的XMLRPC和SOAP。那么 Pyro这样的单纯的Python远程调用方案具有什么样的优势呢?那就是性能与易用性。
由于动态语言具有强大反射能力,因此实现对象序列化对于Python来说简直易如反掌。对象的序列化在Python中被称为pickle,这是许多Python应用的核心机制。Pyro 也正是充分利用pickle 的威力,在网络间提供远程对象的调用。它的性能要远远超过使用XML 对远程对象进行编码/解码。同时,它在接口调用设计上也非常简洁。在服务器端和客户端只需2、3 行代码就完成对象的封装与调用,远比SOAP来得简单轻松。
Twisted
上个月,Zope 3.2发布,在这个最新版中, 一个重要的变化就是:使用了近十年的处理Web请求的网络框架代码被放弃,取而代之是以Twisted 为核心实现的代码。据称这样可以改善系统性能以及可扩展性。于是Twisted库再一次成为了人们关注的焦点。 Twisted 的核心概念是非阻塞异步网络服务器(所以它也被成为Python中ACE,如果你还不知道什么是 ACE,那么看看前面关于C++库的文章),这是目前为止性能最好的网络处理模型。也许是非阻塞异步处理的天生复杂性所致,Twisted 几乎是我所见过的最复杂,最难用的Python库。Twisted 的使用者需要面对大量新的概念和新的模式,这一点上和ACE 倒颇有几分相似。陡峭的学习曲线,阻碍了很多人掌握Twisted 库。这也许是想要获得高性能所付出的必要代价。难怪 O’REYLLI在其出版的关于Twisted的书的封面引用了一只九头怪蛇,还真是贴切。
Psyco
赞美Python的好话可以说一箩筐,那么它的缺点是什么?这还用问吗,当然是性能。性能——已经成为Python根深蒂固的老毛病了。不要说和C++/Java/C#这样的语言相比,即使是和它的同门兄弟们——Ruby、Perl、PHP 这样的脚本语言相比,Python的性能依然是最糟糕的。Python的设计者们似乎仅仅在乎语言机制的完美,几乎不考虑性能。CPythony 引擎已经发展了这么多年,查看其源代码,性能优化代码少之又少。对象引用模型至今还在使用引用计数器的方式,至于发展一个JIT 引擎,算了吧,不要指望了。还好,Psyco 的出现,带给我们了一线希望。Psyco 通过将运行中字节码编译为二进制代码从而大幅提升整个应用的性能,在某些环境中甚至能将速度提升一个数量级。虽然Psyco还不能视为一个真正意义上的JIT 的引擎,也无法像Java中的JIT 那样提供完全透明的服务。但我们仍然要为Psyco的发展感到振奋。目前,在其最新版本中,只需两行代码的添加,就能使你的程序充分使用Psyco,从而提升性能。
wxPython
在许多人眼里,动态语言/脚本语言一般仅适合完成命令行或WEB的工作,而在桌面开发方面实在是丑陋不堪。而wxPython的出现无疑是给这种偏见以有力的回击。
wxPython 实际上发展多年的C++框架wxWindow(现已更名为wxWidgets)的Python封装。而 wxWindow的目标是建立一个跨平台的GUI 框架。wxWindow 现已能在Windows/Unix/Mac 上良好运行。自然wxPython也能横跨上述几个平台。
wxPython 使用的原生窗口。这就意味着使用wxPython 开发的GUI 和操作系统本地GUI 系统在界面外观上没有任何区别。如果和Java中GUI库对比一下,就可以发现,wxPython 更加类似SWT 而不是Swing。因为SWT也是使用的原生窗口,想想Eclipse 的界面有多漂亮就知道原生窗口的优势了。
虽然不少C++爱好者对wxWindow框架的设计颇有微词,不过在经过Python的封装后,没有了指针、没有了 MFC时代的事件机制,wx框架的易用性获得了极大提升。这也是Python的另一个巨大魅力所在。
正在与python恋爱相关推荐
- Python表白代码:“ 星光月夜烟花 皆归你,我也归你”
导语 "慢品人间烟火色 闲观人间岁月长" ---致自己 遇见我以后,我们的故事就开始了,愿你历经山河,仍觉得人间值得. **星光月夜烟花皆归你,我也归你.**关于烟花大家都知 ...
- Python之字符串
雾都之菜魚与Python恋爱的第三天 "字符串" 一.什么是字符串 (大家好!!!我是菜魚,在与Python恋爱的第二天我有浅浅的提到什么是字符串今天呢我将详细的去讲解) 字符串的 ...
- [python,2018-06-29] 37%法则及其拓展解决恋爱问题
[python,2018-06-29] 37%法则及其拓展解决恋爱问题 参考文章: (1)[python,2018-06-29] 37%法则及其拓展解决恋爱问题 (2)https://www.cnbl ...
- python画笛卡尔心形线_伊对:学霸如何谈恋爱?揭秘不同专业的学霸表白方式
近日,一对江西南昌的高颜值学霸情侣引发广泛关注.来自东华理工大学的刘旭东和朱丽芳双双考研成功,两人复试分别以369分和375分的成绩同时被武汉大学资源与环境专业录取.当说起两人为何一起努力考研去同一所 ...
- python画笛卡尔心形线方程_伊对:学霸如何谈恋爱?揭秘不同专业的学霸表白方式...
来源标题:伊对:学霸如何谈恋爱?揭秘不同专业的学霸表白方式 近日,一对江西南昌的高颜值学霸情侣引发广泛关注.来自东华理工大学的刘旭东和朱丽芳双双考研成功,两人复试分别以369分和375分的成绩同时被武 ...
- AI一分钟 | 刚爆Python将进入高考,AI就已强势进入公务员国考试卷;报告称1/4男性更喜欢跟机器人谈恋爱,真的吗?
一分钟AI 人工智能进入国考试卷 上百万人参加2018年度国考笔试,我们距离AI还有多远? 发改委正在牵头制定智能汽车创新发展战略,2级水平以上的自动驾驶在2020年要达到10%左右 未来你会跟机器人 ...
- 大数据,AI, Python,编程,数学,英语,恋爱资料大全
微信公众号:湾区人工智能 关注可了解更多的教程及排版技巧.问题或建议,请公众号留言; [如果你觉得我的文章对您有帮助,欢迎转发,加我微信:1040007524 内容目录 AI资料大全Python资料大 ...
- Python实现恋爱AA公式
「作者主页」:士别三日wyx 事情源于一次网友们的「多人运动」,原图如下 网友们对线了一晚上,最终得出了一个结论:如果男生要求女朋友和她各出一半就没那么多破事了. 大家 ...
- 用Python制作恋爱日志
前期准备 1.Python的wxpy库,wxpy在itchat的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展. wxpy库功能很强大,比如,运行脚本时自动把日志发送到你的微信,加群 ...
最新文章
- Linux下gdb调试工具的使用
- 二级域名做SEO优化有怎样的利弊关系?
- Android AppWidgetProvider应用
- Windows XP系统超强支持工具全面接触
- mysql初始化错误【一】Can't find error-message file '/usr/local/mysql/errmsg.sys'
- linux内核同步机制相关收集
- AI 创业公司 Kyndi 获850万美元融资,帮助公司预测未来
- 创建初始脚本工具mkscript.sh
- 遇到代码缺陷不要慌,马上教你快速检测和修复
- 永久修改MySQL字符集(适用Mysql5.5、Mysql5.6、Mysql5.7以上)
- 记一篇JAR冲突的问题:Inceptor-Ddriver-4.7.1
- 身份证识别 python + OCR
- 环网交换机的主要作用是什么?
- 计算机功能键名称,电脑键盘功能基础知识有哪些你知道吗
- photoshop名人堂
- strtoupper php 中文,strtoupper来导致中文乱码么
- 微信自定义分享功能二次封装
- python数字类型的分类和区别_讨论python的数据类型的区别
- 【社招】【邮储总行】软件研发中心2022年社招开发专场
- SAP中会计科目无法查看明细行项目分析处理