如何高效的学习python

如何高效的学习python

  假设到目前为止你已经知道Python或有一些学习它的方法,但是如果你喜欢我发现的不用几个月的时间就能迅速掌握其要领的学习语言的方法,那么这篇文章是为你准备的。

要避免的学习错误,在你的编程生涯中有一个技能比其他更重要。它就是,高效学习的能力。如果你掌握了这个本领,必将前程似锦,而且受到他人的敬仰。如John Sonmez所说, 至少有5种我们犯的错误会影响高效学习。我完全同意他的看法。

  它们是:

  1.一本书从头看到底,一页不漏: 这样不好因为我们只会记住我们读过的一小部分而且大部分书内容太宽泛以至于不值得一页不漏地读。当你刚开始学习时,学一些不会马上用的概念是时间和精力的极大浪费。可以花时间那样做,但不是刚开始的时候。 相反,你应该把精力放在当前需要学习的部分,而忽略其他部分。

  2.没有计划地学习: 这方面我是一个惯犯。有时候我会因为一个新技术而变得很兴奋,接着马上投入进去,开始使用它,买很多书,读,读,读,用,用,用, 看一些相关的视频,订阅一些博客和新闻通讯,读的更多,用的更多 ,最后我还是原地打转,没有什么大的进步。这很糟糕。虽然我乐在其中,但是我却从未因此这样变成一个专家。

  3.未能缩小范围: 有清晰的界限能让我们容易决定一个新的资源是否值得你花时间。 这就是为什么学习Python的最好的途径是试着用它开发些东西。为了完成一个任务,你会明白Python哪些部分是你不需要了解的,你会发现开始你把范围缩的越小,学到的就越多而且进步越快。

  4.试着同时学两样(或更多)的东西:如果你是因为对Django 网页应用开发感兴趣而学习Python,那么很可能你在犯这个错误。你这里学点Python,那里学点Django,再学点Python,然后再学点Django. 本质上你就是我们特立尼达人喜欢说的“陀罗泥”,即转动了很多次,但是实际上没前进。

  5.在实践之前投入太多时间学习: 因为我们害怕失败。我们想在尝试之前搞清楚我们在做什么。所以我们在付诸行动之前会花很多时间学习。过去我就是这样。具有讽刺意味的是我开始知道的越多,意识到自己不知道的也就越多,从而又想学更多。这使我更害怕尝试做些事情因为我知道我会做的狗屎一样。谁会想写狗屎一样的代码呢? 我们都想写优美的规范的Python代码。不要像我这样。不用等准备好了再开始。

  如果你喜欢阅读上面说的,想学习更多,那么我会感觉很开心, 不过我还没有引导你到智慧之源。 看看John Sonmez写的“软件开发者犯的5种学习错误”。 可能我匆忙地拙劣地总结了他的看法,但还是务必看看他写的更有意思的趣闻和更深刻的见解。

我的建议

步骤1:熟悉Python

Python社区很棒的一面是它持续关注具备好的文档。 它是免费而且优秀的。马上把它好好利用起来吧。所以熟悉Python的第一步是安装Python, 然后留几个小时的时间快速过一遍Python教程。我该学习Python 2还是Python 3? 最近有一场关于这个的激烈讨论,不过简短的答案是“学Python 3”。然后,读下“Python之禅”,它可以帮助你建立写Python代码需要具备的思维模式。祝贺,你现在有足够的Python知识写第一个应用程序了。

步骤2: 编写你的第一个程序

想一个应用,然后把它用Python写下来。

如果Python不是你的第一门语言,那么我确信你用其他语言写的程序可以植入到Python中。 如果不管怎样你确实想写一个全新的应用,那就去做吧。但是我仍然想说尝试写些可以在数天(我的第一个程序花了我4天时间)或最多一周内完成的程序。这时候你只是在试着找到这个语言的感觉。

我开发的第一个应用程序是Whitespace解析器,最初我用Racket实现的,然后是Ruby,后来是Haskell,现在是Python。你可能会说,那是我掌握了语言的要点后开发的程序,我同意。因为我不再花时间努力研究这门语言而是努力研究具体的应用。我不得不再强调一下,现在的重点是学会用这门语言思考,所以尽量保持程序简单这样注意力放在语言的使用上。显然,我并不知道用Python实现这个项目所需要做的每一件事情该怎么做。但这就是这次实践的主题,当你只学你实现特性需要的知识时,应用程序会引导你下一步该学什么。 以后你可以经常回过头来学更多。

比如,当我实现一个虚拟机时,我知道我需要一个全面的测试套件,但是教程里面却没有相关的介绍。尽管如此,通过快速搜索,我找到了一个关于Python 单元测试框架的优秀文档。我看了下我写测试用例需要用到的部分,然后就开始做了。遇到任何问题再回来看文档。

注: 在用这些单元测试做过几个项目后,我决定要好好学习下这个框架。所以我坐下来从头到尾把文档阅读了一遍。但我是以后才投入这个时间因为我知道我的项目中会经常会用到它。聪明点,照着做

我倾向于渐进式开发,所以如果你看这个项目的提交记录,你会看到我怎么建立这个项目,分解问题并最终完成了它的第一个版本。记住, 有始有终。

步骤3:多学一点Python

万岁! 你已经完成你的一个Python应用程序。

现在我建议你再多花点时间学习下这个语言,Python功能很齐全,意味着它有一个巨大而且很棒的标准库。当你实现你的应用程序的时候你可能已经匆匆翻阅了下文档,不错,我知道我是那样做的。再多学一点。这里是值得你学习的章节:1, 2, 3, 4, 5, 6.1, 6.2, 26.4 和 27.3.

其他部分继续浏览下即可。你不需要Python渊博的知识,只要大概了解Python有什么功能。

当你需要一些没有涉足过的知识(或将来你计划花时间去探索)的时候,再多投入些时间在其他部分才是明智的通过找机会重构你的应用或增加更多的功能把新学到的知识运用到实践中。

步骤4: 开发,开发和开发更多的程序

不管你信不信,你现在知道的python知识足够开发任何你想要的东西。记住重要的不是语言而是你用语言做什么(除非你是研究编程语言理论,编译器设计等之类的东西)。

如果你有相关的专业知识,比如在数学,物理,经济和生物学领域,那么你可以把Python作为你的秘密武器去做一些很棒的事情进而推动那些领域的发展。

如果你想不出要开发什么东西,那么你可以到Python部落(python.freelycode.com)上去找一个课程学习一下,他家的课程都是以项目为主体的,在讲项目的过程中给你传授知识,很有实践性.

步骤5:拓宽自己的视野

你能回想起第5种学习错误吗?如果不能,再去读一下,我可以等一下。保持平静。好,如果你按照这些步骤来做,那么你肯定先做再去学习。这样很棒。但是,你肯定有知识漏洞。为什么?你不知道你不懂什么。你永远不可能尝试用一个你从来不知道存在的想法、概念或工具。这是主动寻求更高级知识的时候。你完成了很多真实的应用,而且可能有很多问题。这样很好。

这两个不错的资源可以满足你的求知欲:

1. 流畅的Python(http://shop.oreilly.com/product/0636920032519.do)

2. 高效的Python(http://www.effectivepython.com/)

奖励

我没找到办法能把更多的建议和提醒恰当地融入到这篇文章。

1. 我不得不强调Python文档的质量。我已经说过文档Python教程和Python标准库,但是很少听人谈论过Python语言参考这个文档。 当我写Ruby忘记了一个结构体的语法和语义时我完全忽视了这样的文档,拥有这些信息的权威资源可以让你有信心地编写程序,比如如果你忘记了if语句的语法,你可以查阅这个文档,其中"The if statement"部分有详细解释,而不用去Stack Overflow上提问。

2.阅读PEP8。 如果你已经写了大量的Python, Raymond Hettinger 做了一个很棒的题为Beyond PEP8的演示(同样)值得仔细看看。

https://www.python.org/dev/peps/pep-0008/

3.从一开始就养成写好文档的习惯。Docstring Conventions是一个学习你应该遵守的约定的好资源。

4.读其他人的代码。我建议从Kenneth Reitz的代码开始。比如你可以看看tablib,你也可以从你用过的和听过受欢迎的库里面找到其他资源。阅读代码是有益的,因为它让你看到其他人是怎么使用自动散布型的Python。

5.David Beazley做了一些不错的东东, 当你想脑洞大开时,可以看看。

结束语

成为一个Python程序员专家需要花数年时间,但是打下坚实的基础只要几周就可以。如果你按照我的建议有意识地去实践,你就可能会成功。

祝你好运。

原文地址:https://www.cnblogs.com/hcxy2007107708/p/9949592.html

时间: 2024-10-28 22:15:26

如何高效的学习python的相关文章

如何高效地学习数据结构——Python篇

原文链接:http://www.datastudy.cc/to/43 我们来看看如何高效地学习一门语言的数据结构,今天我们先看Python篇. 所谓数据结构,是指相互之间存在一种或多种特定关系的数据类型的集合. Python在数据分析领域中,最常用的数据结构,莫过于DataFrame了,今天我们就介绍如何高效地学习DataFrame这种数据结构. 要学习好一种东西,最好给自己找一个目标,达到了这个目标,我们就是学好了.一般,我在学习一门新的语言的数据结构的时候,一般要求自己达到以下五个要求: 第

大神教你如果学习Python爬虫 如何才能高效地爬取海量数据

Python如何才能高效地爬取海量数据 我们都知道在互联网时代,数据才是最重要的,而且如果把数据用用得好的话,会创造很大的价值空间.但是没有大量的数据,怎么来创建价值呢?如果是自己的业务每天都能产生大量的数据,那么数据量的来源问题就解决啦,但是没有数据怎么办??哈哈哈,靠爬虫来获取呀!!! 通过利用爬虫技术获取规模庞大的互联网数据,然后做市场分析.竞品调研.用户分析.商业决策等. 也许对于小白来说,爬虫是一件非常难且技术门槛高的是,但是如果掌握了正确的方法,在短时间内可以让你应运自如.下面就分享

python爬虫 | 一条高效的学习路径

数据是创造和决策的原材料,高质量的数据都价值不菲.而利用爬虫,我们可以获取大量的价值数据,经分析可以发挥巨大的价值,比如: 豆瓣.知乎:爬取优质答案,筛选出各话题下热门内容,探索用户的舆论导向. 淘宝.京东:抓取商品.评论及销量数据,对各种商品及用户的消费场景进行分析. 搜房.链家:抓取房产买卖及租售信息,分析房价变化趋势.做不同区域的房价分析. 拉勾.智联:爬取各类职位信息,分析各行业人才需求情况及薪资水平. 雪球网:抓取雪球高回报用户的行为,对股票市场进行分析和预测. 爬虫是入门Python

学习Python随想

进入大三之后进入了一周基本都是专业课的状态,虽然相比之前几个学期课时量减少了,但实际上学要学习的任务却大大增加了,而类似于Python,spss这一类的课程是之前之前并没有听说过的,但在上过两周之后发现,Python是类似于c语言一类的课程,而之前的c语言和数据结构学得并不好,所以其实在内心深处是有一丝丝的惧怕的,希望在实践课上能多做一些类似于第一次的学打代码的联系,多找找感觉. 课堂进度十分之快,时而跟得上时而跟不上,而一旦跟不上就会跟多米诺骨牌似的,影响接下来的课堂学习.在智慧云教室最大的感

十分钟学习Python的进阶语法

(0)目录 VMware 下安装Ubuntu的吐血经历 零基础学习Shell编程 Linux下的makefile的妙用 Linux调试神器 -- gdb 十分钟学会Python的基本类型 分布式版本管理神器--GIT GIT文件的三种状态 & Git SSH秘钥问题 十分钟学习Python的进阶语法 配置SSH无密码访问及Linux热键.重启.kill进程 Java的不定长参数和Python的不定长参数对比 一:起因 (1)作为胶水语言的Python,可谓无处不在,快速开发原型网站:大数据处理等

Python为什么这么厉害? 不想成为专业码农? 来学习Python吧!

什么是码农? 什么是码农,一张图解释码农大家用它来自娱自乐,然而,其中的辛酸只有程序员自己知道.程序员冲锋在第一线,各个人都在盯着你的结果,不断给你施加压力.你就是一个机器一样的干活,除了干活还是干活.程序员的压力是很大的,在繁忙的工作中,累的喘不过气,更没有精力时间发展人脉,没有时间谈朋友.很多时候,并不是程序员情商低找不到女朋友,而是他的工作环境没有目标对象,同时也没有很多的业余时间.工作的时候,只固定在一个小小的办工作上.可想而知,发展空间是什么. . 在文章末有0基础小白学习资料(欢迎关

你应该学习python的7个理由

Python 是一门更注重可读性和效率的语言,尤其是相较于 Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎.诚然,它有点老了,但仍是80后啊 -- 至少没有 Cobol 或者 Fortran 那么老.而且,如果还能派上用场的话,为啥要折腾着改变它呢 (尤其在这个还有那么多方法可以提升它性能的时候)?实际上这要看你怎么看待它,生命线长本身就是件好事 -- 说明它稳定且可靠.如果你是像其他许多人一样都是从 Java,C 或者 Perl 开始进入职业生涯的,那么学习

你该学习 Python 的 7 个理由

Python是一门更注重可读性和效率的语言,尤其是相较于Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎.诚然,它有点老了,但仍是80后啊 -- 至少没有 Cobol 或者 Fortran 那么老.而且,如果还能派上用场的话,为啥要折腾着改变它呢 (尤其在这个还有那么多方法可以提升它性能的时候)?实际上这要看你怎么看待它,生命线长本身就是件好事-- 说明它稳定且可靠.如果你是像其他许多人一样都是从 Java,C 或者 Perl 开始进入职业生涯的,那么学习Pyth

入门学习Python必须要知道的知识点

Python被誉为全世界高效的编程语言,同时也被称作是"胶水语言",那它为何能如此受欢迎,下面我们就来说说Python入门学习的必备知识点,也就是它为何能够如此受欢迎的原因. 1.Python适用于哪些应用场景? 这个没有固定答案,很多人都说Python不适合开发GUI的程序,但Python自己的IDE--IDEL和第三方的IDE--Eric就是Python写的. 目前看到的更多的人是拿来写Web,使用如Django.web.py框架,没记错Flask也是. 也有一个情况用的比较多,用