社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

开智学堂 • 8 年前 • 904 次点击  
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
 
904 次点击