记得第一次看到 Python 这个词是 Dash 跟我说编 BT 的语言号称是和 C# 一样完美的,当时也没注意,上个月看《Thinking in Java》,Bruce Eckel 也是大力推荐,昨天在找CMS时发现一个很好用的系统:Plone ,也是Python编的。于是花了两天时间捉摸着入门,发现还是很让人吃惊的。
Python.cn 上是这样介绍的:
- 是一种解释性的,面向对象的,具有动态语义的程序设计语言
- 适合快速开发
- 代码具有优秀的可读性
- 具有模块和包的概念
- 支持各种主流平台,并具有很好的跨平台性
- 可以很容易地包装C/C++的代码供Python使用
经过短暂实践,我个人总结了以下几点,仅供参考:
- Python是支持带类和多继承的面向对象程序设计。虽然面向对象,但是和C++/Java的概念不太一样。在Python中“对象”这个词不一定指类实例。Python中并非所有的类型都是类(而Java几乎可以这么认为),然而,所有的Python类型在语义上都有一点相同之处:描述它们的最贴切词语不是“类”,是“对象”。
- 代码格式及其前卫,完全抛弃了C系列,包括Java使用的花括号{},改用空格(Space)或制表符(Tab)控制封装块。比如
def buildConnectionString(params):
代码块(函数,if 语句,for 循环,等等)通过它们的缩排来定义。缩排表示块的开始,非缩排表示结束,不存在明显的括号,大括号,或关键字。这就意味着空白是有意义的,并且要一致。在这个例子中,函数代码(包括文档字符串)缩近了4个空格。不一定非要是4个,只要一致就可以了。第一行没有缩近,则不算在函数内。经过一段时间的适应,你将会心平气和地对待它,开始理解它的好处。一个主要的好处是,所有的Python程序看上去差不多,因为缩排是语言的要求而不是风格问题。这样就更容易阅读和理解他人的Python代码。因此Python赢得了最优美代码、最强的可读性的称号。用Phthon做程序设计,你甚至可以不太考虑你的程序的可维护性很差。
"""Build a connection string from a dictionary of parameters.
Returns string."""
return ";".join(["%s=%s" % (k, params[k]) for k in params.keys()]) - 基本的数据类型有变量:数字型(整型,浮点型,复数,无限制长整型),指针(ASCII码和Unicode码),表,字典。
别人总结的其他几点:
- 代码可以被集成为模板和包。
- 这种语言支持异常处理追踪并能够列出比较清晰详细的错误提示。
- 数据类型非常的强大,而且是动态的。混合的数据类型(例如试图将指针与数相加)将被编译器提出一个异常情况信息。
- Python包含了一些高级的程序设计特性,例如代码生成器和解释器。自动垃圾收集功能使你从内存管理的争战中解脱出来。
庞大的标准库支持很多一般的程序设计任务,比如与网络服务器连接,正则表达式,文件操作。 - Python的交互式模式使得调试小段的程序非常便捷。当然,处理大型的程序他还具备一个捆绑式的开发环境,叫做IDLE。
- Python编译器是很容易扩展的,我们可以将C或者C++编译后的模板作为新的模板加入到其中。
- 编译器也可以被嵌入到另外一个应用程序中以提供一个可编程的界面。
Python可以在很多不同种类的计算机和操作系统上运行:比如Windows, MacOS, OS/2,以及很多作为Unix分支的操作系统。
参考站点:
- 官方主页:http://www.python.org/
- 中文社区:http://python.cn/
- 中蟒编成语言站点:http://www.chinesepython.org/cgi_bin/cgb.cgi/home.html
- 深入Python:http://cn.diveintopython.org/
- v2.3参考手册:http://python.cn/contents/python2.3tut/tut/
- 常见问题集:http://python.cn/contents/PythonFaq.html
- Jython(Python in Java):http://www.jython.org/
- IBM - Python编程系列:http://www-900.ibm.com/developerWorks/cn/linux/theme/special/#python
- Python初学(英文):http://www.python.org/topics/learn/
- Python Library Reference(英文):http://www.python.org/doc/lib/lib.html
- ActivePython(Win32环境下的Python安装及IDE):http://www.activestate.com/Products/ActivePython/