作者 谢恩铭 转载请注明出处
编程语言之争从来不曾停止,这篇文章绝对不会去讨论哪个语言是最好的(当然了,除了「PHP 是世界上最好的语言」这句「真理」之外)。
插句题外话,不要听一些人说:「编程语言没有好差之分,只有用起来顺不顺手」。这话其实不正确,编程语言就是有好差之分,有些编程语言就是设计得不好,就是不适合一般的应用,就是无人问津。
我想谈谈最近几个月以来我的感受:
「我深刻地认识到 Python 是当下迫切应该学习的编程语言」。
为什么这么说呢?且听我慢慢「因式分解」:
- Python 最近很火,非常火。这和人工智能(AI :Artificial Intelligence)有关。Python 有很多优秀的库,特别适合数学运算和科学计算,而人工智能就需要很多计算和一些算法,因此 Python 的很多库比如 Numpy,Pandas 等就有用武之地了。而且很多大公司启动了适合人工智能的库或项目,比如 Google 公司发布的开源机器学习库 TensorFlow,Tesla(特斯拉)的 OpenAI,等等。这些库上层都可以很方便地用 Python 来操作。其中 Google 的 AlphaGo 击败了人类最强围棋(Go)玩家李世石,而 AlphaGo 是基于 Google 的 DeepMind,DeepMind 前不久宣布宣布底层基于 Tensorflow 了。特斯拉的 OpenAI 在单人对抗中击败了人类最强的 Dota 2 影魔选手之一的 Dendi,完整对战视频。
-
Python 非常容易入门。Python 号称「Battery included」,我们知道 battery 是「电池」的意思,included 是「包含」的意思,因此就是说 Python 简单到「已经包含了电池了」,功能都已经包含在语言里了,直接拿来用即可。其语法实在很简单,基本没有编程经验的孩子几天也可以学会。
-
Python 几乎可以被应用在任何领域。人工智能、科学计算领域自然不用说,各种成熟的库调用起来极为方便;大数据领域也是 Python 大展拳脚之处;云计算领域 Python 可以发挥实力,比如著名的 Dropbox 就是 Python 写的;用 PyGame 可以进行快速游戏开发;GUI 图形界面编程也不在话下,Matplotlib 这个绘图库可以满足你;嵌入式领域,著名的树莓派(Raspberry Pi)开发板的主要开发语言是 Python;Web 应用有 Django 这个 Web 应用框架,可以很快速地开发出绚丽无比的网站;Web 后端 Python 也不甘寂寞,知乎和豆瓣的后台就是 Python 写的;近几年新兴的职业 DevOps (development 和 operations 的组合)一般也用 Python 来写脚本;一些大型项目的构建以及一些小任务的处理,Python 的脚本也能助你快速开发;用 Python 做爬虫程序,可以轻松爬取网络上你想要的内容(当然,请不要干坏事),Python 有很多不错的爬虫库,例如 Scrapy。
-
优越的跨平台性能,几乎所有的操作系统都可以跑起来 Python。
-
Python 既支持面向过程函数式编程也支持面向对象的抽象编程。
-
用 Python 语言编写程序让人很愉快,反正我学习的时候感觉写 Python 的程序有一种快感。
-
Python 非常精简。本身的 API 封装得挺好,因此很多功能不需要我们重新造轮子,直接调用即可。再加上那么多成熟的库,用起来不要太开心。同样实现一个功能,用 C 语言,Java 或 C++ 往往要写很多行代码,Python 只需一行或者几行代码帮你搞定。
-
Python 在 Tiobe 编程语言排行榜的最新一期榜单(2017年 9 月)中已经位列第 5,仅次于 Java,C语言,C++ 和 C#。虽说这个榜单不能涵盖全部,但也是编程界比较权威的榜单了。可以看出 Python 势头正劲。
-
Python 是解释型语言,因此假如你要做些小测试,或者学习这门语言,将会非常省时间,因为不需要编译,直接解释就可以执行。比如我很喜欢的 Python 的 IDE(集成开发环境),由大名鼎鼎的 Jetbrains 出品的 PyCharm,就让写 Python 程序成了一种享受。
-
Python 的可扩展性很好,开发者可以用 C 语言或者 C++ 编写 Python 的扩展模块,还能将 Python 嵌入到 C/C++ 程序中。
-
Python 的源代码写得不错。其源代码一开始是用 C 语言写的,Python 的作者使用中立的面向过程的 C 语言,实现了动态面向对象,使得 Python 具备灵活和优雅的特性。Python 的源代码也是值得学习的。推荐一本书,是中国人写的,叫《Python 源码剖析》,作者 陈儒,豆瓣评分 8.7。
- 规范的代码。Python使用强制缩进来保证代码规范性,几乎不需要代码审查。
正因为 Python 这么好,我半年前也开始认真学习 Python 了。
我在好多年前也略学过一点 Python,在工作中其实偶尔也会写 Python 脚本,公司的一个检查多种代码格式的脚本就是 Python 写的,我也在维护。
不过我觉得自己的 Python 水平还是很低,因此想要让自己在 Python 上多精进一些,能够掌握 Python 的精髓,更灵活使用。
我之前没怎么好好学 Python,主要也是因为 Python 真的太容易上手了(你说 Python 的发明人怎么能把这门语言设计得这么易用呢,那不是纵容我们去偷懒吗?哈哈,开个玩笑),只需要了解一下基本语法,然后想要什么功能,就写个类,写个方法或有时写几行代码就可以了。
最近半年多我自学人工智能的知识,机器学习和深度学习都需要用到很多 Python,才觉得有必要重新开始认真学习这门伟大的语言。
学了一段时间,感觉 Python 真的太强大太好用了,爱不释手,目前是我最喜欢的语言。
以前学习 C++ 的时候,感觉真是挺难的,主要是 C++ 比较庞杂,东西太多,概念都能把你绕晕了,而且还要考虑指针和内存等等。很多写 C++ 的人其实并没有很好地掌握其精髓,写出来的程序往往非常丑陋,难以扩展和维护。
但 Python 就很简单,终于可以用节省下来的时间去看看诗和远方了。当然了,要写出优秀的 Python 代码也没有那么容易。
Python的优点也不只我所列的这些。
而且,Python 也不是没有缺点,比如动态解释型语言速度相对编译型慢一些(但其实 Python 现在速度已经挺快了),Python 2 和 Python 3 的不兼容,等等。操作系统的编写目前还是以汇编语言,C 语言和 C++ 为主。
Python 还有一个最大的缺点,就是「优点实在太多了」。
所以,省下几局打王者荣耀的时间,来学学 Python 吧,一定大有裨益。
至于学习 Python 的教材,可以看看《Head first Python》这本书,很浅显易懂。慕课网的各种 Python 视频也是入门和提高的好资源。
如果你英语好的话就直接看 Python 官网的 Tutorial(教程)吧:
https://docs.python.org/3/tutorial/index.html
没有比这更权威和保持更新的了。
当然了,到时候你深陷 Python 的「情网」,无法自拔时,请不要来找我「算账」,这锅我可不背。
当然了,这篇文章只介绍了 Python。其实 Google 开源的 Go 语言和 Kotlin 语言也都不错,但比起 Python 势头还是差了点。
我是谢恩铭,在巴黎奋斗的软件工程师。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」
热门评论
有点吹上天了。。。。
哇,巴黎耶。。。 法语的程序?
muqianhaishibuhui a kanbudong