如何逐步成为一名Python高手?

0 条评论 , 0 次修正,325 次阅读, 最后更新于 2021年08月21日

写在前面

首先要阐述我的核心观点:“从工程的角度,去学习一门编程语言”。Python 亦是如此。

不同语言,要融会贯通

举个栗子,当我们已经掌握一门语言后,就会发现:如果整个过程经过多阅读 (官网),多练习,多思考后,再去学习其他语言,会有触类旁通的感觉 (好像不是特别难)。 大道至简。因为编程语言本身就是一些人类控制计算机的指令,不同语言在语法规则方面其实大同小异。你要做的是融会贯通它们。比如,初次学习 Python 的条件和循环,多回忆一下其他语言是怎样的 (c/c++/shell 等)。在深入一点,在学习 Python 中字符串相加时,分析一下它的复杂度,比如 Java 中字符串相加的复杂度,这两种语言间有什么区别?相同点? 这里引用一下编程语言经典的两句话:

  1. 你了解你学过的每种编程语言的特点吗?
  2. 你能根据不同的产品需求,选用合适的编程语言吗?

(可以在评论区分享自己在学习一门新语言的思考或方法)

唯一语言,要循序渐进

如果 Python 是学习的第一门编程语言,那么不要担心学不好。因为 Python 比其他主流语言,跟简洁,对新人更友好,而且很优雅 (个人喜欢的点)。在这种情况下,你要做的是专注。专注于当下正在学习的 Python 这一门语言,明确学习的重点,把握好节奏循序渐进的学习,尤其是工作和学习的时间 (时间管理?)。

正文 (总结的一些方法)

第一步:多敲代码

任何一门编程语言,其覆盖范围都是相当广泛的,从基本的变量赋值、条件循环,到并发编程、Web 开发等等。

所以,在掌握了必要的基础时,就要上手多敲了。

不要等到看了一堆资料、博客、指导书之后 (觉得自己知识点学的差不多了),才开始去敲代码,因为那时候你会发现,前面记住的东西,好像又忘得差不多了。计算机科学是一门非常讲究实战的学科,而编程,我觉得是一门技艺,越早上手练习,练得越多越勤快,越好。

对于新手,你肯定会疑问,到底什么才叫做必要的基础呢?

以 Python 语言为例,私以为,有以下几点:

  1. 正确理解变量以及变量间赋值
  2. 掌握了基本的数据类型、条件和循环语句
  3. 函数的用法

这期间肯定遇到不少问题。我建议遇到不懂的问题时,可以尝试百度、谷歌查询,先独立思考解决。当然,如果实在解决不了的,可以在评论区留言,我们一起思考、解决。

第二步: 遵循代码规范

诚然,学习编程要高效。但一定不要忽略每种语言必要的编程规范。

比如,刚开始学的时候,可以不写单元测试,但总不能几百行代码却没有发现一个函数,从头写到尾。初期,可以不写注释 (不建议,会坑自己),但总不能把很多行代码全部并到一行把?可以尝试用"\"换行。

再比如,变量和函数,虽然命名具有一定的随意性,但要确保有意义,这很重要。如果你图省事,直接把变量依次命名为 v1、v2、v3 等,把函数依次命名为 func1、func2、func3 等等,不仅让别人难理解,就是自己,过段时间再看自己写过的代码 (这是我写的???)

一名优秀的程序员,一定遵守编程语言的代码规范。严格的代码规范,是代码质量的前提。

第三步:参与实际项目开发

想要真正熟练地掌握 Python 或者是任何一门其他的编程语言,拥有大中型产品的开发经验是必不可少的。因为实战经验才能让你站得更高,望得更远。

比如我们每天都在用搜索引擎,但你了解一个搜索引擎的服务器端实现吗?这是一个典型的面向对象设计,你需要定义一系列相关的类和函数,需要从产品需求、代码复杂度、效率以及可读性等多个方面考虑,同时,上线后还要进行各种优化等等。

尾声: 找准自己的方向

身边很多人,学习 Python 一段时间后,就开始刷算法,忽略了项目练手的重要性。

其实算法更多的是一种基础,一种逻辑思维的锻炼。重要的是多在项目中练手,积累工程经验。比如很多人想做机器学习,而忽略了工程项目练手的机会。我的建议是,多做项目,在这过程中去了解自己真正擅长的是什么,喜欢做的是什么,再去确定方向。

评论区会附上一份 Python 的思维导图,共勉~