Py学习  »  Python

Zoom.Quiet:如何快速掌握 Pythonic 要义?

开智学堂 • 6 年前 • 688 次点击  
Python 已成为学习数据科学、人工智能的首选编程语言。新手如何快速进阶、掌握 Pythonic 要义?且听 Python 中文社区联合创始人 Zoom.Quiet 的建议。本文节选自 Zoom.Quiet《理解 Pythoneer 路线图》。

当年 《可爱的 Python 》(2009 版)行者箴言中,我们就说过:

用之,弗学。

现在,通过几年来各种形式的培训后,发现这种理念实则另一认知科学理论的表述:

输出是更残酷的输入。
因为教会他人才是证明真正学会的唯一指标;-)

以往其它编程语言的自学用教材,都是将学校教育中课程用书的一种缩简和再复制。然而在 Python 领域,除了官方文档中 Guido van Rossum (Python 语言的最初设计者及主要架构师) 唯一传世的大型文档《The Python Tutorial》 外,最推荐的入门图书是《「笨办法」学 Python》(Learn Python the Hard Way,一般缩写为 LPTHW)。

为什么呢?因为 LPTHW 给出了最自然的自学开发语言的途径:

用最短时间刷得最核心的 20% 知识点,然后就别学了,直接来解决实际问题吧。千万别将一门开发语言,弄成一门学科来研究/深入。

这其实也是在安装好 Python 环境,建议输入的第一个命令「import this」时,输出的「蠎之禅」中包含的 Pythonic 精神了。

其实,自学中最难的就在无法获得足量的成就感/持续的正反馈。面对持续的「各种意外」,又对整个领域技术没有宏观把握前,那种好像所有任务都有无数种可能性,初学者最易陷入那种无论怎么尝试都无法理解全部的挫败感。

但是, LPTHW 给出了明确的突破形式:

常见的任务就这么几个,每个就这么几个标准处理,只要先习惯 Python 的最小调试循环:
   输入
   运行
   输出
   调整
就进入了和 Python 自然对话的状态,一切就是问题的定义/分解/解决了,不要纠结 Python 的精妙。

这样,其实就是给出了一系列有现实代表意义的常见小任务,对任务的解决思路,即 Python 内置推荐的思路和逻辑,在毎一章节设计的几个都没超过 20 行代码的案例尝试过程中,每一章的练习都能在集中精力的情况下,15 分钟以内获得成功的正反馈。自然就能坚持下来了。

当然,LPTHW 其实也不用都刷完,通过前 20 章小练习,理论上就已经是名合格的 Python 新人了。

只是,如果你想高效跃迁到专家级别,就得在入门后,面对两个关键问题:

  1. 如何检验当前掌握的知识点是对的?

  2. 如何明确自己的学习路径是合理的?

前一问题的建议是:

输出是更残酷的输入。

重要的事得重复三次:

输出是更残酷的输入。

这句口号的含义有几层意思:

首先,输出是残酷的。

因为通过实践,在我们头脑中形成的经验,其实是非理性的、模糊的、未固化的、过于私人的。很多时候,我们以为我们明白了,但是,当众阐述时总是感觉讲不清楚。其实,讲不清楚就是没有真正明白。

因为,经验在没有外化为语言或文字时,只是我们自身思维中的一种新模式;但是,语言或文字是人类社会公众知识领域的通用模式,任何新的思维模式要想从私人经验变成大众知识,这其中,首先撞到的就是将立体或网状的经验感觉,变成一维线性的吻合大众期待可理解的陈述或比喻。这其实是写作领域的技能要求了,对于一般没有相关训练的程序员而言,当然难。

但是,再难也必须做,因为这是唯一可以自证学到学对的渠道。因为,通过输出,倒逼自己对新知识进行反复的多维度的审视,才能补齐欠缺的理解,形成整体概念,进而找到大众可以直觉理解的隐喻。

甚至于,可以根据自身的学习过程逆推出,对应知识点应该掌握的层次和过程,并配上对应的案例和解说。这其实是一系列,反复的对相同知识点的不同方向、不同模式的演练和阐述。等于逼自己创造出全新的个人原创的知识点记载形式,其创造难度相当于将诗经翻译给美国人。

最后,这种输出必须持续而刻意,并形成习惯。这样在学习新技能的同时,就自动在想象将来如何通过文章或演讲来传授这一新知识点,从而自然而然的从教授的角度来备课,或是说探索知识点的相关维度信息。进而,形成自己独特的自学流程,并持续优化,外在体现可能就是学的越来越快了。

以上,有关如何自学 Python 的几个阶段的经验都是可以通过自身努力掌握的,但是,最后一层问题:

如何明确自己的学习路径是合理的?

这的确是只有经验才能回答的问题了。因为,这必须是对领域技术有足够深入又广泛的了解后,并对相关行业中,领域技术应用的层次有足够的体会,才能对领域技术进行整体描述。

所以,各种机构出面组织的技术图谱,就是想集成各个专家的经验,形成一个公允的整体路径,给自学的程序员一个足够的 big image 以便自行决定如何,以及从哪个角度高效攀爬技能树。

——- Python 基础班四期即将开始啦 -——

编程从新手到专家
自主网络数据抓取
养成良好提问习惯
自主开发编程项目

  戳原文,预约学编程!


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/bMFCbAzzBp
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2551
 
688 次点击