为什么人们使用 python? | 第一部分 开始 —— 第 1 章: python q&a 环节 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-金年会app官方网
因为当前有许多编程语言可用,这通常是初学者的第一个问题。考虑到目前大约有一百万 python 用户,真的没有办法完全准确的回答这个问题;开发工具的选择有时基于用户独特的限制或个人偏好。
但在过去16年向大约260个团体和超过4000名学生讲授python后,我已经看到了一些共同的主题浮现出来。被python用户提及的关键因素似乎是这些:
软件质量
对于许多人来说,python关注可读性、一致性、软件质量,这使得它不同于脚本世界的其它工具。python代码旨在易读,因此可重用和可维护——比传统的脚本语言要好得多。python语言的一致性使得它容易理解——即使你不编写它。另外,python对更高级的软件重用机制有深入支持,比如面向对象(oo)和函数式编程。
开发者生产力
相比编译型和静态类型的语言如c,c 和java来说, python 将开发者效率提升了许多倍。python代码长度是同等功能的 c 或 java 代码的 1/3 到1/5。这意味着输入更少,出错更少,事后的维护也更少。
python 程序还可以立即执行,而没有其它工具所需要的繁复的编译和链接步骤,进一步提升了程序员的速度。
程序可移植性
大部分的python程序都可以在所有主流电脑平台上运行而不需要修改。比如,在 linux 和 windows 之间移植代码通常只是需要在不同机器之间拷贝脚本代码。而且python提供了多个选项来编写可移植的图形用户界面,数据库访问程序,基于 web 的系统等。甚至操作系统界面(包含程序启动和目录访问)在 python 里也是尽可能可移植的。
支持的库
python 自带许多预构建和可移植的功能,被叫做标准库。这个库支持许多应用编程任务,从文本模式匹配到网络脚本。另外, python 还可以用自己制作的库和广大的第三方应用支持软件来扩展。 python 的第三方库及软件提供了网站构建,数字编程,串口访问,游戏开发等工具(参见后面的样例)。比如,numpy 扩展已经被描述为一个比matlab 数字编程系统更强大而且免费的等效产品。
组件集成
使用许多集成机制,python 脚本能很容易地和应用的其它部分发生交互。这些集成允许python被用作一个产品自定义和扩展工具。目前 python 代码能调用 c 和 c 的库,也能从 c 和 c 的程序中调用,它能与 java 和 .net 组件集成,能通过com 和 silverlight这样的框架进行通信,能通过串口与设备连接,能使用像soap、xml-rpc 和corba这样的接口在网络中进行交互。它不是一个单独使用的工具,与其它组件集成会更好地发挥作用。
乐趣
因为 python 易于使用和内置的工具集,它使得编程变得乐趣多于枯燥。虽然这是一个无形的好处,但是它对生产力的好处是很重要的。
在这些因素中,前两个(质量和生产力)可能是大部分 python 用户最关心的好处,值得全面的描述。