代码改变世界

随笔分类 -  Elegant Python

lambda与闭包

2010-05-03 16:43 by FantasySoft, 7313 阅读, 收藏, 编辑
摘要: 在《作为.NET程序员,您需要IronPython么?》一文中,Michael给大家介绍了IronPython的诸多优点,其中的一条就是IronPython实现闭包要比C#和VB.NET来得更为直观。在文中,针对“找出长度较短的字符串”的功能,我给出了IronPython的代码:[代码]这段代码的核心在于最后一个赋值语句,它是典型的列表内涵(List Comprehensi... 阅读全文

不谈模式,只谈实现

2007-02-07 01:01 by FantasySoft, 3599 阅读, 收藏, 编辑
摘要: 回到家已经很晚了,还是很习惯性的上上博客园,看看大家一天精彩的文章,以求擦出些智慧的火花,让不太灵光的脑袋能够变得聪明些。这不,Justin兄的文章让我惺松的睡眼有了亮光。Justin的文章讲的是Strategy Pattern(策略模式),内容十分生动,让人看了之后对这个模式有了清晰的认识。而我也心痒痒的,想写些读后感什么的,咔咔~~ 说句实在话,我对模式了解得很少... 阅读全文

努力做个Pragmatic Programmer

2006-03-31 15:35 by FantasySoft, 1383 阅读, 收藏, 编辑
摘要: 在公司里,由于整个开发流程相对规范,整天都是拿着文档做开发,动脑筋也不太多了,久而久之难免会感到厌烦,还好有一些不需要循规蹈矩的小task可以调和一下。事实上,对于这些小task,Leader通常都会很头痛,因为都是一些如果手工完成都会让人抓狂的,繁琐而无聊的工作。每每接到这些看似很无聊的task,我都会考虑用较为聪明的方式将其完成。虽然俺的劳动力低廉,但是也不想被这些无聊的工作坏... 阅读全文

Python备忘录

2006-02-28 23:52 by FantasySoft, 3288 阅读, 收藏, 编辑
摘要: 使用Python编程有一段时间了,但是Python并不是我最常用的编程语言,更重要的是Python与诸如Java、C#这类典型的OO语言在很多方面存在着差异。因此我那糟糕的记忆力总让我在编写Python程序的时候,不得不搜肠刮肚,挖空心思。俗话说得好:好记性不如烂笔头。因此,还是为我如漏斗般的记忆开个备忘录吧!Part 1 与OO概念相关 1、如何构造类实例? ... 阅读全文

说的都是概念——有关编程范式

2005-12-17 17:41 by FantasySoft, 5228 阅读, 收藏, 编辑
摘要: 在Python中,lambda是一个有趣的关键字,它用于定义简单的匿名函数。匿名函数的概念,是指没有与特定变量绑定的函数。也就是除了定义的那一刻可以引用该函数之外,你无法通过任何方式再次引用它了。这类似于我们熟知的立即数,因此我给由lambda语法定义的匿名函数起了个新名字:立即函数。存在即是真理,Python中引入了lambda语法,引入了匿名函数的概念,它所坚持的真理又是什么呢... 阅读全文

吹响反击Ruby On Rails的号角

2005-10-14 11:27 by FantasySoft, 9439 阅读, 收藏, 编辑
摘要: 最近Ruby On Rails(ROR)的火热程度真的让人很惊讶,九月份的《程序员》也用了大量的篇幅来介绍这个新兴的Web Application快速开发框架。对新鲜东西向来都很好奇的我却对ROR提不起兴趣,也许是因为Ruby由日本人创造的缘故吧,我对Ruby一直有着抗拒感,尽管ROR是丹麦的小伙子David开发的。 抗拒归抗拒,ROR的成功着实是一种促使我去思考的动... 阅读全文

关于Metaclass Programming (一)—— 动态创建Class

2005-08-30 23:53 by FantasySoft, 1299 阅读, 收藏, 编辑
摘要: 前几天写Python中的Class这篇Post的时候,犯下了一个十分低级的错误,让我感觉十分惭愧。看来还是得继续努力,坚持大胆假设,细心求证的基本原则哦,呵呵~~~ 言归正传,Qiangning Hong兄的Feedback不仅纠正了我犯下的错误,也促使了我去作进一步的思考。我原本希望通过Google去搜索Python中关于函数重载的内容,却很意外地发现了这样一个与... 阅读全文

Python中的Class

2005-08-25 23:06 by FantasySoft, 19568 阅读, 收藏, 编辑
摘要: 尽管Python在Function Programming中有着其他语言难以企及的的优势,但是我们也不要忘了Python也是一门OO语言哦。因此我们关注Python在FP上的优势的同时,还得了解一下Python在OO方面的特性。 要讨论Python的OO特性,了解Python中的Class自然是首当其冲了。在Python中定义class和创建对象实例都很简单,具体代码... 阅读全文

也说Functional Programming

2005-07-20 12:33 by FantasySoft, 3220 阅读, 收藏, 编辑
摘要: 看了Lu Feng兄写的4个程序员的一天以及很多朋友对此post的回复,不禁让我兴奋不已。因为我想起了Python,毕竟在Functional Programming方面又怎么能少了Python这条可爱的小蟒蛇呢? 偶没有Lu Feng兄那么强的表达能力,能够将语言的特性如讲故事一般娓娓道来,只能随手写两行代码来展示一下Python在Functional Progra... 阅读全文

美妙的Python又来了

2005-06-22 02:08 by FantasySoft, 2921 阅读, 收藏, 编辑
摘要: 今天继续去了解小蟒蛇的可爱特性,在函数定义和调用方面,有三个地方让我觉得蛮有意思的。 第一个有意思的地方是缺省实参, 也就是在Python中定义函数,你可以为参数设定缺省值(默认值),这个特性在C和C++中也是有的,但是在Java中却没有,至于C#中有没有,就不清楚了。如下所示: def test(a, b, c=3): print a, b,... 阅读全文

感受Python的美妙

2005-04-02 01:47 by FantasySoft, 3546 阅读, 收藏, 编辑
摘要: 最近上班的时候忙里偷闲,仔细研读了DiveIntoPython中关于Python特殊数据类型的章节。而我再一次被Python的简约之美深深打动了。 List是Python的三种特有数据类型中的一种,跟数组很像,支持直接利用下标的访问方式;同时List的size是可变,这一点又跟ArrayList是十分类似的。但是List就像是包罗万象的万花筒,不仅能够容下对象,同时... 阅读全文

你今天Python了吗?(下)

2004-09-28 17:02 by FantasySoft, 3328 阅读, 收藏, 编辑
摘要: 在体验了wxPython的强大之后,让我们把注意力集中到Twisted上来。在C++的世界里,你会发现一个很棒的网络应用框架,那就是ACE了;在Python的地盘,Twisted则是在网络应用框架中当之无愧的老大。 Twisted是一个纯Python的网络应用框架。由于Twisted社区十分的活跃,你可以从网站上得到充分的文档,让你轻松上手;Twisted是开源的,你... 阅读全文

你今天Python了吗?(上)

2004-09-28 12:05 by FantasySoft, 10921 阅读, 收藏, 编辑
摘要: 你今天Python了吗?为了提高你的生产效率,赶快去关注一下小蟒蛇的成长吧!别再把Python当作你的业余爱好了,她能为你做手头上几乎所有的工作,而且能做得更好,也让你把写代码看成是一种真正的乐趣。为什么我们就一定只将注意力盯在C++、Java、C#这些所谓正统的语言上呢?我们的目标不是Be a pragmatic programmer吗?C++、Java乃至C#都可以看做是同一类... 阅读全文