七
13
2010
一个显示排序过程的Python脚本
作者: seasun之前向大家介绍过《一个排序算法比较的网站》,那个网站用动画演示了各种排序算法,并分析了各种排序算法。这里,要向大家推荐一个 Python脚本,其可以把排序的过程给显示出来。
下图是“冒泡排序”的一个示例,其中:
- 折线表示了各个元素的位置变化。
- 折线的深浅表示了元素的大小。越深则越大。
七
13
2010
之前向大家介绍过《一个排序算法比较的网站》,那个网站用动画演示了各种排序算法,并分析了各种排序算法。这里,要向大家推荐一个 Python脚本,其可以把排序的过程给显示出来。
下图是“冒泡排序”的一个示例,其中:
六
24
2010
六
11
2010
本文作者作为一名从事PHP开发11年的资深开发者,却放弃了PHP而改用Python。借助本文,作者与其说是解释了他做出这种选择的原因,不如 说是他对 PHP和Python两种语言的性能进行了比较。以下是作者的原文翻译:
我之所以放弃PHP,原因首先是语言。PHP实际上不是一种语言,而是一种巨大的插件结构,以一种高层的形式来展示低层的库。而大部分开发者使 用的 语言实际上是对C功能 (curl, mysql, gd, etc.)的包装,通常情况下它们的库展示得很简单。因而这导致了PHP的API不一致。
PHP语言的第二个问题是语言的管理问题。PHP语言实际上是由委员会来设计的,而且没有人来制定任何共识性的标准。PEAR有自己的标准,PHP有自己 的标准,这导致SPL classes更具Java风格,而PEAR却截然不同。
从事PHP开发11年来,我认识了很多PHP领域的专家级开发者,它们对PHP也有很多看法。除了上文提到的委员会问题以及标准混乱问题之外,由于PHP 的使用范围非常广,向后的不兼容对代码造成了很大的破坏。
还要提到的一点是PHP缺乏很多现代语言的特性。现在再来说说Python:
Python语言的创建方法几乎与PHP的完全相反。首先,Python是由Benevolent Dictator和Guido van Rossum领导的,语言的开发由单一的人员主导,因此它的开发、管理以及长期运营会保持很好的连续性。Guido和Python的核心开发者通过PEP 创建标准,而且通过公共接口展示标准是如何创建的。而且,Guido如果想到的语言特性不够好,也不会出现在语言层中(如没有++运算符,而且比较符中没 有分配)。
延续性的特点也延伸到了整个Python社区,所以你很难发现不同项目中的Python截然不同。
我最喜欢的Python的一个特点就是它的清晰。当打开Python中的一个文件的时候,我会清楚地知道里面大概有什么样子的代码,联想到很多次我被 PHP的这一点搞得焦头烂额,我觉得这个特性非常有用。
总之,Python的系统级特性非常不错。
Python另外一个很棒的特性是直白性。需要namespace(命名空间)?文件的名字就是命名空间;需要模块?只需要用一个__init__.py 文件代替;需要重命名功能?只需要new_func = old_func。
六
4
2010
六
4
2010
在一些python讨论版里,经常会见到一些“月经帖”,类似于“我用python读取一个文件乱码”,然后就会抱怨python的编码很麻烦,其 实不是python编码难搞定,而是没有真正理解python的编码。
如在windows环境下的以下示例代码:
#!/usr/bin/env python import sys import os def do(): f = open('./ansi.txt') for a in [x.strip() for x in f]: print a if __name__=='__main__': do()
此时的ansi.txt编码为ansi,我们在cmd窗口执行,看到如下结果:
五
2
2010
二
3
2010
随着Twitter的红火以及新浪微博的流行,微博客已经渐渐取代了博客和SNS,成为最流行的互联网应用之一。前 不久康盛创想又对外开放了康盛微博CTT Beta版,使的很多站长都想搭建一个微博平台,而康盛微博程序提供下载还需要一段时间,所以 在这里我整理了10个免费微博开源程序。
(全文…)
十一
17
2009
八
8
2009
以Twitter为代表的微博客是今年非常火的社交网络,在国内的发展也在上半年一度非常迅猛,虽然现在大多数微博客都因为种种原因无法访问, 但这并没有降低人们对微博客的热情,实际上,自己动手搭建一个类似Twitter的微博客平台并不困难,这里我就介绍一些常见的开源微博客程序,有了这些 开源代码,只要稍懂一些电脑知识,就可以在短时间内搭建一个类似饭否或Twitter的微博客平台。
(全文…)
五
6
2009