跳到主要内容

Python 介绍

Python 是一种简单但功能强大的面向对象语言。它的简单性使其易于学习,但它的强大功能意味着可以创建大型且复杂的应用程序。它的解释性质意味着 Python 程序员的生产力非常高,因为没有编辑/编译/链接/运行开发周期。

Python 是 Guido van Rossum 开发的,他从事 ABC 编程语言工作的产物。

Python 哲学

  • 一个任务,采用明显的方式来完成。
  • zen of python,了解一下

内容范围

虽然 Python 可以开发所有领域的软件,但在某些方面其它技术栈也有各自优势,因此我会包含足够多的它擅长的范围,也希望这样的笔记除了帮助自己,也可以帮助到其他使用和还不会使用 Python 的人。

Guido van Rossum 与 Python

  • 设计一种语言,敏捷开法没有意义,因为在它成型并稳定前,你没有用户,但一旦发现 bug,许多程序就需要修改。

  • 在语言特性还是库上开发,是自然发展的,开始实现为 Python,还有需要就实现为 C 扩展,最后才考虑修改语言核心。

  • Pythonic 一点。

  • PEP 是 Barry Warsaw 的点子,我认为这个名字非常好,Tcl/Tk 社区直接使用了全文。

  • Java 的冗余性,可以让创建它的工具获得更多的信息,比如回答这个变量怎么变化,谁用了这个方法。

  • 我希望我可以说“静态类型不好,动态类型好”。但事情未必总是如此简单。

  • 我得益于 ABC 的经验,让非程序员编程。

  • 在需要反复尝试的程序上 Python 的效率更高。

  • sort() 方法不返回一个值的原因是表明它就地修改了列表,而 sorted() 函数会返回一个新列表。

  • Make 的原作者 Stuart Feldman 没有修改 Makefile 句法和硬 tab 符号的依赖关系,他回答是,他承认 tab 是一个问题,但已经有了十多个用户了。

花絮:我与 Python

早年,我的周末多是在逛书店中度过的。当我遍历了计算机编程语言,发现 Python 很有特色,它主推开源和科学计算,且国外科学家们在科研中都用 Python。当时,Node.js 运行时还没有诞生,国内开发还是 C# 和 Java 为主,但我发现 Python 有许多成熟的开源程序,如 Plone 这种杀手级应用和一系列先进的概念,可以在公司很快实现一套灵活强大的办公电子化系统。

另一方面,Python 可以胜任的不仅在此,它几乎能覆盖所有编程任务范围,从 Web 到桌面 GUI,Python 本身的特性也容易理解,并可以把控。