Python发展史
Python的创始人为Guido van
Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC
语言的一种继承。之所以选中 Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC
这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的
。Guido
决心在 Python 中避免这一错误(的确如此,Python 与其它的语言如C、C++和Java结合的非常好
)。
同时,他还想实现在 ABC 中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-
3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
Python在编程语言中的定位
很多大规模软件开发计划例如 Zope, Mnet 及 BitTorrent. Google都在广泛地使用它。
通常认为,Python是一种解释性的语言,但是这种说法是不正确的,实际上,Python在
执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual
Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual
Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual
Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual
Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual
Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual
Machine。
基于C的Python编译出的字节码文件,通常是.pyc格式。
在实际开发中,python常被昵称为胶水语言
,这不是说他会把你的手指粘住,而是说他能够很
轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。
常见的一种应用
情形是,使用python快速生成程序的原型(有时甚至是程序的 最终界面),然后对其中有特别要求的部分,用更合适的语言改写
,
比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。
相关文档:
Python 3 输出重定向使用C/C++
By:gddsky
目标
希望将Python 3的输出重定向到自定义的输出目标。
核心
Python使用sys.stdout、sys.stderr做输出目标,只要我们替换这两个值就可以重定向到我们自定义目标。替换的值的规则在Python的文档中sys (module)的sys.stdout上面说明只要添加一个write函数就可以 ......
用Python导出QQ空间的日志到WordPress
文章来源:http://www.keakon.cn/bbs/thread-964-1-1.html方法很简单,找出日志的地址,再遍历列出日志的内容。
因为单纯导出没用,还得转换成其他格式,所以我保存到一个列表里,每篇日志都对应其中的一个字典元素,字典的属性都用unicode编码。
然后dump出来,可以方便以后用Pyth ......
* java强制使用OO进行应用开发,Python可以用函数式编程。函数式有时显得非常简单,代码量巨减。回想起Java动不动的N层、还有一个个对象,真的有那种心要吗?而且Python本身语言风格就简洁,再加上简洁的函数,在开发效率、Debug、测试上似乎会有优势。
* 大型复杂项目的性能更多地体现在架构、硬件拓扑结构上等。应对 ......
综述
多线程是程序设计中的一个重要方面,尤其是在服务器Deamon程序方面。无论何种系统,线程调度的开销都比传统的进程要快得多。
Python可以方便地支持多线程。可以快速创建线程、互斥锁、信号量等等元素,支持线程读写同步互斥。美中不足的是,Python的运行在Python
虚拟机上,创建的多线程可 ......