Home >Backend Development >Python Tutorial >如何系统的学习python?

如何系统的学习python?

WBOY
WBOYOriginal
2016-06-06 16:22:291450browse

现在看python书籍,越来越茫然了,不知道该从那个方面下手?

回复内容:

首先我想说:可能题主的动机就是错误的!从心理学上说,题主可能是一个完美主义者,就是那种要做一件事,必须要把有关的内容都学会了,然后再去做;比如,我想去用python写个爬虫,我就要把python系统地学习一遍。
首先,程序猿是为了解决问题而学习的,不是为了学习而学习的。如果说我想要写个爬虫,我只要学会scrapy,beautifulsoup模块就行了。
其次,系统地学习完python是需要时间的。你想想,python有那么多的官方文档,还有各种库,各种开发工具,而且它还在不断更新,如果你想系统地全部学习完,可能要花上一辈子的时间也不够。
不过既然说到这里,还是有一定的方法的。首先,找一本书了解整个python的框架,然后遇到什么问题就去学习相关的知识。
记住:学习永远是为了解决问题,而不是为了学习而学习。(我在这里更多的分享的是一种思想,而不是技术方面的细节,其实我也是个小白^_^,见谅)



————————————————————————
20150605更新
首先感谢大家的赞!!!

有人说我的答案并不是回答问题的,恭喜你答对了,确实如此,就像我答案里说的我分享的更多的是一种思想,而不是技术系列。毕竟意识决定行动!
说实话,对于这个问题,如果只是从表面上回答,很容易的,网上的资源这么多,随随便便可以贴出一张python技能树,你就按照技能树不断加点唄;但是从题主提出来这个问题的角度出发,可以发现题主连自己“为什么要学习python”都不知道呢。所以我认为更应该让题主理清自己的思路,我是基于这个角度回答的问题。

好了,废话不多说,正式开始更新内容。

我把学习分为三种境界:
第一种境界:兴趣。基于兴趣的学习是最简单的,只是跟着感觉走就行了,对什么感兴趣就学习什么,完全不用考虑有没有什么卵用,因为我乐意。
第二种境界:为了短期的目标。比如说我想要开个独立博客,那么我就要学习一下html,css,js等等;我就是为了完成这个短期的目标。
第三种目标:为了一个长远的目标。这个是最难的,因为为了目标你可能要学习很多自己不喜欢做的事,而且还得坚持很长时间。比如说,你只想通过学习python以便一年以后自己能够月入10000+(只是举个例子),那么这个时候你就只要付出努力就行了,但是如若你能把这个转化成兴趣,那你还是相当强的。

当你明白了自己的学习目的是出于什么目的后,你也再顺着这个思路进行深度思考,相信你会找到适合自己的学习方法的。 啊,回答过一个类似的问题,请参考: 刚开始接触Python,如何正确高效的开展Python学习? - 赖勇浩的回答 《与小卡特一起学python》,这本书花三个月时间看看,基本可以入门。除了看书,还可以看些教程视频,主要还是自己多动手敲代码。 完美主义者的正常表现。

我正在改正中~~ python开发篇:
书籍:

《python核心开发第二版》
《python核心开发第三版》
视频:
《中谷教育视频40余集》
自行百度。
python爬虫篇:
《旺海的实验室csdn爬虫十篇》
《廖雪峰的博客》
等…
python运维篇:
《老男孩运维python2013年末版》
《Linux黑客的python编程之道》
等。 2015/07/16更新
最近读《python宝典》这本书(大神轻喷啊),发现以前基础根本没打好,这才查缺补漏来了,发现好多细节问题,比如面向对象的python,以前只是学c,学一点java,看到这书才算是有概念了。
===========
发表我的看法。答主学习Python一年多一点了,项目也自主的做了两三个,专业电气工程,与编程不太沾边,都是野路子自学的。

当时也没想太多,就是感兴趣,觉得想好好学习一门编程语言,然后听说生命短暂,请用Python。

写Python,建议在Linux下,因为Python是Linux的脚本语言,在安装Ubuntu的时候,能看到安装过程,是先安装了Python环境,然后Python各种.py文件,这样。

回到正题。

第一,别说什么解决问题了,面对一个小白,不知道题主有没有学其他语言经验和编程能力,如果有的话最好了,随便看看Python的语法和一些基本方法,简单库就好了。如果是小白,要入门的话,得花一点功夫,照着head first python这本书,敲下来就好了,里面关于手机脚本的开发就别做了,毕竟鸡肋。这本书容易上手,不会枯燥,从简单计算到cgi脚本到发布都有简单介绍。看完了这本书就算入门,推荐进阶阶段《python标准库》,这本书挺厚,不过特别系统,这本书如果能理解透彻了你就挺厉害了。

第二,一定要有问题去解决。
我是把我们课程的作业,关于计算的,都编程了,现在有个问题,就想我应该怎么做?或者我怎么能做的更好?我要不再做一个django驱动的网站吧,以后同学能也能用了。这样,慢慢做,一步步来,培养成就感。

Python是个好语言。

这里,就讨论一下,如何根据需求 边学习边实战吧。

之前我学习python也是一头雾水,硬着头皮学下来,算是半成品了,可以写出很多需求,之前在学的时候,问了一些人,很多人没坚持下来。

高手给我的意见是,一般正常学习是要3个月掌握基础,半年写出有需求的东西。

但是实际上,我真正在学的时候,发现比这个快,比如15天就可以写出自己需求的东西~3个月基本大部分淘宝,seo相关脚本写了数十个,虽然现在只是刚入门。

但是学习起来,不会像以前那样完全头绪!

这是为什么可以学习这么快?

因为我带着强烈的需求去学习的!

打个比方,我做电商,团队一直需要一个比较复杂的计算器来计算灯管的换算,这个功能,其实很简单。

有的人会笑,写个计算类型的脚本的 需要15天?

没办法,我比较笨~~0基础,连html代码都不太懂,~~·当时入门的时候 花了很大的力气,配置环境理解变量等一些东西。

不过,因为有需求! 所有学的时候目的性很强~

那么这个程序,需要软件可以学会?简单的来说,掌握了理解了

变量的含义,

if,for

还有几个基本的内建函数

这4点掌握了,就可以写出来了。

有点基础的,2小时,看看文档,应该就能写出来了。

其实掌握了变量,python的数据类型,if for以后,可以写出很多东西了。

比如,有一个这样的需求:根据跳失率,停留时间,来判断这个宝贝的详情页优化质量

然后,又有这样一个需求:智能的计算员工的工资。

所以:实战是我觉得是掌握知识的最快方法


简单的说,就是带着需求去学习,有的人会推荐做一些C++,或是网上的习题。

确实,我曾经有一段时间做过,效果非常好

因为解题是思路的,所以很多时候,我跑步的时候,也在想怎么解题,但是做了大概10道题目以后,基本上应该算是真正理解和应用循环了。

但是,如果对于新手,我一般不建议这样,因为,信心容易被打击

我会做那些习题,基本上也是学了python 1个月以后了,之前看都看不懂!!!


当然,现在的那个电商详情页分析脚本也慢慢升级了。

因为掌握了一些爬虫库,然后就可以抓取更多的信息了

然后掌握了pandas库,就可以结构化的储存和更加高效的学习了

再学了一点mysql,就可以把分析以后的数据放在mysql了。

然后弄了一台云liunx,和 远程mysql,这样数据都自动保存在云端了,在任何地方都可以访问了。

以后学习了淘宝自动带验证码登录(接入第三方数据),就可以每天自动更新报表了。

结合数据预警,还有画图,再发邮件的脚本,就可以每天自动发送报表到手机上了

再学点django+web前端知识,就可以整一个网站,给团队看整体的数据分析效果了

当然,员工工资计算的那个也是可以这样一点点的把功能加上去。

带着需求,然后你需要什么功能,就去百度,边添加项目边学习,遇到问题,记录下来

这样的学习速度是最快的!


当然有的牛人会说,你折腾这些有用吗,我花钱,或是找人开发一个,也用不了多少钱。

但是我想说,你的时间很值钱吗?三个月前,如果我不每天抽一点时间学习python,我到现在还是一个鸟样!一点进步没有

如果一直是抱着,钱可以解决,干嘛要学习的这种态度,然后每个月领着1万多的工资~~那这辈子也是如此了!


就像,有的人在跑步,你会说跑步有什么用?现在有汽车!有自行车,还需要跑步吗?

但是,真正的跑者,是把跑步当作游戏,当作乐趣,愿意投入时间,他们并不是真正为了健康而跑步!而是来体验这中间的快乐。

顺便说下,张特也是跑步爱好者,跑过4个马拉松,每天要跑10公里上下,跑者可以加咕咚 111张特。


同样,我理解编程,也像在玩游戏,做出来的成就感,那感觉不比高潮差~

以前,我每天回家的时候,会斗一下地主,玩个游戏,看看娱乐节目

现在,回家的时候,就玩玩python,睡前想想要弄什么脚本,然后就睡觉了~(催眠效果很好!)

以前跑步的时候,脑子是空的,现在带着思路跑步,跑着跑着,就跑出灵感了

又不耽误时间~

我觉得这也挺有意思的

所以,对于那些还在犹豫的人,我建议是,想的话就直接去学吧,但是是带着需求去学的。

因为如果你不学,你会发现,1年以后,你还是跟现在一个鸟样!你学了,起码多了一个技能了!

你每天只要抽出一些刷微微信,看新闻,论坛,QQ群吹水的时间,或是早起的时间~或是做车的时候思考一下~~

4个月,就会大有不同!

顺便发一下个人的博客地址:zhangte.org 也是更新python和seo相关的知识,更多会偏向电商和网站优化的应用

敲了多少行了? 说实话这个问题没有标准答案。
对于题主的问题,我只能说请带着你的目的去学习。目的不同,学习的方式自然不同。
我本人是Java程序员,使用Python的目的是为了快速的写点小工具用于某些不适合使用Java的场景比如说处理一些文本文件,那我只需要关注Python的基本语法和读写文件,最多再控制一下递归就足够了;而如果你要用它来做Web开发,那你的keywords显然和我迥异
我认为学习一门语言,最重要的是先把代码写出来。写代码的过程本身就会告诉你很多,写的多了你就会知道它具体的逻辑、你可以在脑海中模拟它的运行、你也能轻松的找到这段代码哪最容易出问题。我们都知道没有完美的软件、也没有不变的知识,所以不要等着学会了再动手、而是一开始学的时候就动手。
最后,祝题主学习顺利、早日入坑! 我推荐《python简明教程》。一本很好的入门级的书,是python2.7的。Windows,Linux和Ios下都有,同时每节有给其他语言的程序员写注。大概200页左右,这本书也是诱导性学习。如果有其他语言基础的上手很快。扫完这本书后,自己动手写个网络爬虫。网络爬虫可大可小。写完这些你就有自己的想法了。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn