# 一、Python 简介 # Python 是著名的“龟叔” Guido van Rossum 在 1989 年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。牛人就是牛人,为了打发无聊时间竟然写了一个这么牛皮的编程语言。 现在,全世界差不多有 600 多种编程语言,但流行的编程语言也就那么 20 来种。不知道你有没有听说过 TIOBE 排行榜。 这是 2017 年 2 月编程语言排行榜 TOP20 榜单: | Feb 2017 | Feb 2016 | Change | Programming Language | Ratings | Change | | --- | --- | --- | --- | --- | --- | | 1 | 1 | | Java | 16.676% | -4.47% | | 2 | 2 | | C | 8.445% | -7.15% | | 3 | 3 | | C++ | 5.429% | -1.48% | | 4 | 4 | | C# | 4.902% | +0.50% | | 5 | 5 | | Python | 4.043% | -0.14% | | 6 | 6 | | PHP | 3.072% | +0.30% | | 7 | 9 | ↑ | JavaScript | 2.872% | +0.67% | | 8 | 7 | ↓ | Visual Basic .NET | 2.824% | +0.37% | | 9 | 10 | ↑ | Delphi/Object Pascal | 2.479% | +0.32% | | 10 | 8 | ↓ | Perl | 2.171% | -0.08% | | 11 | 11 | | Ruby | 2.153% | +0.10% | | 12 | 16 | ↑↑ | Swift | 2.125% | +0.75% | | 13 | 13 | | Assembly language | 2.107% | +0.28% | | 14 | 38 | ↑↑ | Go | 2.105% | +1.81% | | 15 | 17 | ↑ | R | 1.922% | +0.73% | | 16 | 12 | ↓↓ | Visual Basic | 1.875% | +0.02% | | 17 | 18 | ↑ | MATLAB | 1.723% | +0.63% | | 18 | 19 | ↑ | PL/SQL | 1.549% | +0.49% | | 19 | 14 | ↓↓ | Objective-C | 1.536% | +0.13% | | 20 | 23 | ↑ | Scratch | 1.500% | +0.71% | 还有就是 Top 10 编程语言 TIOBE 指数走势: > TIOBE Programming Community Index(数据来源:[www.tiobe.com](https://www.tiobe.com/tiobe-index/))从 2002 年到 2017 年的走势显示:Java 长期处于 15% ~ 25% 的高位,与 C 语言交替领跑;C 语言整体呈缓慢下行趋势;C++ 从 15% 一路下滑到 5% 左右;Python、PHP、JavaScript、C# 等长期在 2% ~ 10% 区间内此起彼伏;而 Perl、Visual Basic .NET、Delphi/Object Pascal 等则逐渐式微。 总的来说,这几种编程语言各有千秋,但不难看出,最近几年 Python 的发展非常的快,特别最近流行的机器学习,数据分析,更让 python 快速的发展起来。 Python 是高级编程语言,它有一个特点就是能快速的开发。Python 为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用 Python 开发,许多功能不必从零编写,直接使用现成的即可。而且 Python 还能开发网站,多大型网站就是用 Python 开发的,例如 YouTube、Instagram,还有国内的豆瓣。很多大公司,包括 Google、Yahoo 等,甚至 NASA(美国航空航天局)都大量地使用 Python。 当然,任何编程语言有有点,也有缺点,Python 也不例外。那么 Python 有哪些缺点呢? 第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。 第二个缺点就是代码不能加密。如果要发布你的 Python 程序,实际上就是发布源代码。像 JAVA , C 这些编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。