零基础转行学习 Python 的指南与建议
Python 编程语言由于自身具有的'清晰'、'简略'等特点而受到众多 IT 从业者喜爱。对于初学者来说,比起其他编程语言,Python 更容易上手。加上很多企业都使用 Python 编程语言,促进了 Python 程序员的市场需求量增加。
转行零基础学 Python 编程开发难度大吗?
近期很多小伙伴问我,如果自己转行学习 Python,完全 0 基础能否学会呢?Python 的难度到底有多大?
首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,而不同的编程语言,干同一个活,编写的代码量差距也很大。比如,完成同一个任务,C 语言要写 1000 行代码,Java 只需要写 100 行,而 Python 可能只要 20 行。所以 Python 是一种相当高级的语言。
我赞成把 Python 作为入门语言:
- 语法简单明了。第一门语言,其实就是语法 + Flow control(控制),而 Python 的语法简单,代码可读性高,容易入门。
- Python 的哲学是「做一件事情应该只有一种最好的方法」,对于初学者规范自己的学习有很大的帮助,同时也帮助初学者能够读懂其他人的代码。
- 养成良好的习惯。Python 对于代码的要求严谨,特别是缩进(Indentation),对于初学者养成良好的代码习惯很有帮助。
- 语法设计优秀。Python 的语法设计非常优秀,思想也比较现代,可以更快的理解现代编程语言的一些思想。
- 面向对象支持。Python 仍然是传统基于 Class 的 OO,和 Java、C#、Ruby 一样,比较大众。从 Python 去学 Design Pattern 也是比较合适的。
- 内置数据结构清晰。Python 的内置数据结构清晰好用,优秀的代码很多。
- 资源丰富。Python 免费的书很多(英文),可以找到许多资料啃。同时社区比较集中,有问题可以向高手问。
- 领域广泛。Python 在其他领域,比如科学计算等等有广泛的运用,对于学一门语言作为工具来说,Python 很合适。
如何学 Python?
1. 选择好方向
我要学习 Python 的目的不是为了解这门语言,而是为了要学会运用这门语言来解决问题。
但 Python 的应用方向,实在太广了。在 Python 基础知识学完之后,如果应用方向不同,要学习的东西也会大不同。
我不能说我要做 web 开发,学完 Python 基础知识,跑去学 numpy、pandas 等知识;也不能说我要用 Python 做数据分析,学完 Python 基础知识,然后就跑去学 django、flask 框架。
这个道理,就跟我们想要去泰国旅行,肯定不会买去日本的机票一样,很简单。但是我们不得不承认,还是会有人犯迷糊,上来就开干。
我学习 Python,是因为在工作中慢慢了解到 Python 在数据分析方面,基本涵盖了'数据获取→数据处理→数据分析→数据可视化'这个流程中每个环节,是数据分析的利器。
2. 规划好路径
当我确定好方向后,下一步骤就是顺着这个方向,建立好我自己的学习路径地图。
这个路径是一个系统性的逻辑主线,这个主线会让我知道每个部分需要完成的目标是什么,需要学习哪些知识点,哪些知识是暂时不必要的。然后每学习一个部分,我就能够有一些实际的成果输出,利用成果产出来形成正向刺激,激励后续的学习。
而且,如果我们身在职场,大多时候我们是没有很大块的时间来集中学习的。我们的学习时间被分割在了一些碎片化的时间里。在碎片化的时间里,系统性的学习一门知识,更需要有一个贯穿前后,系统的逻辑主线,来串联所有相关碎片化的时间的学习。
当我确定好学习 Python 的数据分析知识,就按照数据分析的流程'数据获取→数据处理→数据分析→数据可视化'这个路径,给自己建立了学习地图:
- A、Python 基础知识
- B、爬虫基本知识 + SQL
- C、按自己需求选择(如 Web 框架或机器学习库)
3. 对基本概念建立认知
Python 是我学习的第一门编程语言,我在开始学习 Python 的时候,是一个连什么是字符串都不知道的小白。所以对我来说,最重要的开始是,首先对这一领域的基本概念建立认知!
事实上,对一门领域完全零基础的人,想要开始学习它的话,真正重要的工作是先对这门领域的基本概念建立认知。
比如我在看到教程中有句话是'为变量赋值',那我至少得知道,什么是变量?赋值是什么意思?


