提升Python学习效率的3个方法,影响过整个世界进程!

才3个方法?如果你希望的是“提升效率的10大方法”,“程序员必看的20个学习法”......很抱歉,本文不适合你。在精而不在多,一个人若能够学会,并且长期践行这其中一种方法,便已经能够走在很多人前头了。

首先,我有一个非讲不可的笑话。

母校有位老教授,课上的异常好。有一回给新生上实验课,他从讲桌下拿出一个烧杯,里边装着一坨大便:

同学们,既然你们选择搞科研,将来靠这个养家娶老婆,第一样重要的事,就是要有实验精神。你们有实验精神吗?

同学们齐声答道:有。老教授跟着就说:

很好,这里有大便一坨,我带头,大家一起来尝一尝它的味道,帮助我们了解大便。

说完便拿手指伸进烧杯蘸了一下,然后放到嘴里舔了舔。同学们见老师都亲自示范,便一个个也都硬着头皮上去把大便尝了一遍。看到大家都尝完,老教授笑嘻嘻地说:同学们做的很好,你们对科研表现出了非同寻常的献身精神。

正当同学们为自己的亲身尝大便精神骄傲的时候,老教授又讲到:

我刚才说,搞科研第一样重要的是要有献身精神;但是,还有样东西比这个更重要,那就是学会观察。大家觉得自己有观察力么?我看没有。我刚才伸进烧杯戳大便用的是中指,放进嘴里的是我的食指。

为什么要讲这个故事?并不是告诉大家要有观察力,而是要有好的方法。这位老教授就有好的授课方法;用“尝大便”换来要有观察力的教训,学生大概一辈子都不会忘。

Learning By Doing,在实践中精进,通常的翻译为“在做中学”,这是美国20世纪最重要的实用主义哲学家约翰·杜威提出的学习方法;胡适、陶行知、张伯苓、蒋梦麟等都曾是他的学生,杜威的哲学也影响了蔡元培等人。

这个学习理论太过简单,以至于被人忽略了。实际上它早已被拓展到设计、科研等许多领域,在经济学中也可以找到对应的模型。研究表明,人一生90%的知识都是在实践中学到的。生命中的第一次之所以那么难忘,就是因为第一次实践中,人获得了新的知识和体验。

在编程学习中,这个理论显得尤为重要。因为不动手写代码,就永远不会有“第一次”的体验。

这个现象体现到编程学习上就是:看书、看视频的时候都懂了,但一动手去写还是会卡住。问题出在哪里?耶鲁大学的一名老师,在毕业典礼时送给所有学生这样一句话:

Life is an ultimate experience 生活是一种终极的体验。

道理是什么?是别人的体验总结出的东西。

当你亲自动手去写代码,就是在把理论化为自己的体验;就像当亲吻一个女孩子时,才能体验到“吻”的这个概念,通过看小视频是无法体会到。

你有没有想过这样一个问题:微信、滴滴、美团......确实让我们沟通、出行、吃住效率大大提高,让我们有了更多的时间,但是多出来的时间又被腾讯视频、公众号、微博.....这些高效的资讯软件吸走了。无法专注是我们这个时代的难题;这也是我推荐这个学习法的原因。

罗斯福在求学期间一直是学霸,当上总统之后仍旧兴趣爱好广泛的惊人;拳击、游泳、舞蹈、诗画、动植物解刨、鸟类研究等,最让人惊叹的是,他在这些方面只花很少的时间,就能达到顶尖的行列。他的秘密就是:超高强度的专注。

比如今天要花半小时游泳50个来回,他会拼命去突破这个目标,最终在半小时游80个来回。通过“Deep Work”这一策略,他在工作或学习时首先会把Deadline(截止日期)压的非常短,然后取消喝咖啡、散步等活动,完全集中在一件事上,直到达成目标。

费曼想必大家都听过,有很多头衔,如量子电动力学创始人,纳米技术之父等,他还得了诺贝尔物理学奖;如此旷世的成就,很大程度归功于他的被称为“终极学习法”的费曼技巧,这个方法简单且高效:

a.选择一个概念。可以是编程中的,或者生活中的任一概念。

b.教授这个概念。想象着你需要把这个概念教授给一个小孩子;写下跟此概念有关的方方面面,弄清楚条理逻辑。注意,你需要用尽量简单的词句,或者类比成日常的例子,你要教授的对象是个外行。

c.回顾。在上一步中,你必定会有遗漏或者忘记的地方;你需要重新整理并且记住,保证自己在不用参考资料的情况下将概念完整表达出来。

d.简化。现在你已经可以把整个概念表达出来了,但是能不能更加精简易懂呢?你可以试着再去简化之前的表达,或者找一个外行讲给他听,看你能否表达清楚。多次重复之后,你能够用最精炼的语言表达清楚这个概念,说明你完全掌握此概念了。

Google一下,有成百上千种经典的学习方法,为什么偏偏推荐给你这3个?这三个方法刚好组成一条学习路径:

?费曼技巧帮助你快速理解并掌握一个概念;

?罗斯福专注指导你制定“苛刻”的学习计划;

?杜威实践理论提醒你动手去内化、使用这个概念。

最后,希望3个方法能够切实地帮助到你

大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每日分享一些学习的方法和需要注意的小细节

点击:python技术分享交流

原文地址:https://blog.51cto.com/14318113/2401767

时间: 2024-10-09 07:47:10

提升Python学习效率的3个方法,影响过整个世界进程!的相关文章

帮你提升 Python 的 27 种编程语言

以下为正文: 作为全球最流行的编程语言联合设计者之一,我经常看到的一种令人沮丧的行为(在Python社区和其它社区都有),就是那些有影响力的人试图把“缺失”的恐惧感灌输给其它开源社区,将其当作对社区贡献的源动力.(我偶尔会对自己的这种不当行为感到内疚,当别人落入同样的陷阱时我也就更容易察觉到). 虽然借鉴其他编程语言社区的经验是一件好事,但以恐惧为基础的方法来激励行动存在严重的问题,因为它将助涨社区成员为争取贡献者的关注而将其它社区的成员视为敌人,而不是当做潜在的盟友去迎接更大的挑战,共同推动顶

python写爬虫使用urllib2方法

python写爬虫使用urllib2方法 整理了一部分urllib2的使用细节. 1.Proxy 的设置 urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy. 如果想在程序中明确控制 Proxy 而不受环境变量的影响,可以使用代理. 新建test14来实现一个简单的代理Demo: import urllib2 enable_proxy = True proxy_handler = urllib2.ProxyHandler({"http" : 'htt

提升网速的路由器优化方法(UPnP、QoS、MTU、交换机模式、无线中继)

在上一篇<为什么房间的 Wi-Fi 信号这么差>中,猫哥从微波炉.相对论.人存原理出发,介绍了影响 Wi-Fi 信号强弱的几大因素,接下来猫哥再给大家介绍几种不用升级带宽套餐也能提升网速的路由器优化方法. 防蹭网 开启 UPnP QoS 与网络限速 设置正确的 MTU 值 使用路由器交换机模式 使用无线中继扩展 Wi-Fi 信号 1.防蹭网 这是最最首要的一条:确认没有陌生人在蹭网! 被蹭网意味着你的 Wi-Fi 密码被泄露(看看是不是不小心用万能钥匙把自家 Wi-Fi 共享出去了?),或者你

Python使用MySQL数据库的方法以及一个实例

使用环境:Windows+python3.4+MySQL5.5+Navicat 一.创建连接 1.准备工作,想要使用Python操作MySQL,首先需要安装MySQL-Python的包,在Python 3.x下,该包已经改名为MySQLClient.可以使用pip方式安装: pip install MySQLClient 或者下载包文件,进行安装也可以. 2.Python使用MySQL的流程: 3.启动MySQL服务器:以管理员身份启动“cmd”,输入命令:’net start mysql‘ P

几个提升JSP应用程序效率的方法(转)

原文出处:http://www.3lian.com/edu/2010/11-28/3711.html# 本文介绍了几个调整JSP和servlet的一些非常实用的方法,它可使你的servlet和JSP页面响应更快,扩展性更强.而且在用户数增加的情况下,系统负载会呈现出平滑上长的趋势.我将通过一些实际例子和配置方法使得你的应用程序的性能有出人意料的提升.其中,某些调优技术是在你的编程工作中实现的,而另一些技术是与应用服务器的配置相关的.我们将详细地描述怎样通过调整servlet和JSP页面,来提高你

如何提升python的处理速度?

导读:作为日常生产开发中非常实用的一门语言,python广泛应用于网络爬虫.web开发.自动化测试.数据分析和人工智能等领域.但python是单线程的,想要提升python的处理速度,涉及到一个很关键的技术——协程.本篇文章,将讲述python协程的理解与使用. 1.操作系统相关概念 在理解与使用协程之前,先简单的了解几个与操作系统相关的概念,包括进程.线程.同步和异步.阻塞与非阻塞.了解这些概念,对你学习协程.消息队列.缓存等知识都有一定的帮助. (1)进程: 进程是操作系统分配资源的最小单位

python常用数据类型内置方法介绍

熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 一.整型 a = 100 a.xxx() class int(object): def bit_length(self): ##如果将某个整数用2进制表示,返回这个2进制所占bit位数. return 0 def conjugate(self, *args, **kwargs): ##共轭复数 @classmethod # known case def from_bytes(cls, bytes, byteorder, *ar

python 的__del__删除器方法

遇到了python关于del的小问题,又引发了一些问题,就简单的记录下,如果有不同意见,欢迎一起讨论~ python类似java是有垃圾回收机制的语言,所以我们不需要像c++一样通过析构函数来手动释放内存, 但是python也同样提供了__del__释放方法.当一个对象的引用计数为0时,会被自动调用,那么先来说说 引用计数吧. 1.引用计数 #!/usr/bin/env python #coding:UTF-8 import sys class MyClass(object): def __in

python直接生成exe的方法

一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序.py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序.py2exe是发布在开源许可证下的.目前只有python2.x的才有对应版本的.二.安装py2exe 从http://prdownloads.sourc