在TIOBE Index最近发布的编程语言排行榜上,Python蹿升到了第3名的位置,是目前炙手可热的编程语言。今年无论如何也要花半年的时间推出一个Python开发的系列课程,争取每周更新几篇,内容暂定为以下几个主题。

一、Python语言基础

二、Python Web开发

三、Python爬虫开发

四、Python数据分析和可视化

五、Python机器学习

这里我们先简单的扯两句为什么去了解和学习Python。日常生活中有很多任务都可以通过计算机来解决,我们可以通过编程来控制计算机工作,当然编程可能对很多人来说并不是一件容易的事情,尤其是当你从C或者C++这样的语言开始起步的时候。

今天你也可能会听到很多类似于“每个人都应该学习编程”这样的说法,但是选择什么样的语言作为开始长久以来都是一个很难回答的问题。现在这个问题有了一个很好的答案,那就是从Python开始你的编程之旅。

Python是一种解释型的编程语言(代码一句一句直接运行,不需要提前处理成机器码,事实上Python的解释器是先将Python源代码翻译成了字节码,再解释执行这些翻译后的字节码),解释型语言的特点是很容易实现跨平台,但是会以牺牲执行效率作为代价,但是在计算机硬件已经高度发达的今天,我们做开发的时候可能追求得更多的并不是程序的执行效率而是项目的开发效率,所以在开发应用系统时,我们更倾向于使用Java、Python、JavaScript这些看起来并没有执行效率但却能提升开发效率的语言。

相比C++和Java,Python可以让开发者用更少的代码来做更多的事情,它在代码可读性和语法简洁性上做得非常出色的。Python支持面向对象、函数式、过程式三种编程范式,而且拥有动态类型系统和垃圾回收机制,我们可以使用Python来实现任务的自动化,可以通过Python来开发网站,也可以用它来为很多的系统提供后台服务。

Python提供了非常完善的基础代码库,覆盖了文件、网络、GUI、数据库等方面;同时Python也拥有非常良好的生态系统,大量的三方库在很大程度上简化了开发工作。如果要给Python语言贴标签,我个人觉得可以贴上“优雅”、“明确”、“简单”,以下就随便列举几点来夸一夸这个语言。

  • 学习曲线低,尤其适合非专业人士
  • 开源软件,大量的三方库和强大的生态圈
  • 解释型语言,完美的平台可移植性
  • 支持主流的编程范式,面向对象和函数式编程
  • 可扩展性和可嵌入性,可以调用C/C++代码反之亦可以
  • 代码规范程度高,可读性强

对于目前Python的应用领域,就我个人了解的情况包括了以下几个方面。

  • 云基础设施 (主要开发语言:Python / Java / Go)
  • DevOps(主要开发语言:Python / Shell / Ruby / Go)
  • 网络爬虫 (主要开发语言:Python / PHP / C++)
  • 数据分析挖掘 (主要开发语言:Python / R / Scala / Matlab)
  • 机器学习 (主要开发语言:Python / R / Java / Lisp)

而市场上提供的Python的职位主要集中在以下几个方面。

  • Python服务器后台开发 / 游戏服务器开发 / 数据接口开发
  • Python自动化运维
  • Python数据分析 / 数据可视化 / 科学计算
  • Python爬虫
  • Python机器学习 / 聊天机器人 / 图像识别和处理

以下几张图提供给对Python感兴趣的小伙伴参考。

图1. 2018年2月TIOBE-index编程语言排行榜


图2. 2018年2月全国Python招聘岗位信息

图3. 2017年全国主要城市Python开发者平均薪资

最后说一句特别没有营养的话:“学习Python最好的时间是10年前或者现在”。欢迎大家来一起交流Python开发中的那些事。