自学Python可以吗?怎样从入门到大师?我写这篇文章告诉你

故事背景

  很多读者朋友问我该如何去学习爬虫、学习Python、自学能找到工作吗?等一系列的问她。这些读者朋友内有正在研究学业的学生,有想转领域的程序猿,也有可爱的小白兔

老规矩!今天,我写文章你来看。最后希望给个赞

首先呢!还是非常感谢各位读者朋友们的支持。这篇文章主要也是从我自身的一些经验来跟大家分享一些学习的方法与技巧。我个人也是自学过来的,所以也很有切身的体会站在这个角度去客观的给大家描述一些事实

1. 确定好方向与目标

  当决定踏入这个行业那一刻起,我想每一个人都爱已经准备投身自己喜欢的领域。很多读者问学会Python能找到工作吗?其实这个问题问的就不是太那么清晰了。学会Python?这里指得是对语法的掌握还是什么呢?未来我们找工作的时候投哪个方向呢?对应方向相关的技术栈跟知识也是需要学习的,都掌握了吗?面试官当然会问你语言的基础知识,但是也会问你从事方向的技术栈。现在Python这个大领域里面是分很多方向的,如果你还不确定选择什么方向的话我这里给你简单的列那么几个你瞧瞧看:

  • Web开发
  • 爬虫开发
  • 自动化测试
  • 数据分析
  • 人工智能

  所以说,学会Python其实只是我们编程的道路迈出的第一步。完全可以把它当作是一个工具,你如果掌握了使用它的方法与技巧就可以用它帮助你去完成自己想做的事。在准备学习的开始你就要明确方向跟目标,我就想搞爬虫!好,语言第一步。然后再学习爬虫相关的技术、工具、框架…这样我们在未来从事工作的时候投递简历也就很明确的会选择爬虫开发工程师这个岗位
设定一个目标
  很多自学编程的朋友刚开始的时候就如同在大海里游泳一样,迷茫且无助又找不到方向,所以首先要给自己设定清晰且明确的目标以及确定好自己的学习方向,没有方向是我们自学编程到了上最大的绊脚石!最后在我们实施起来的过程中可能每天东学学西学学,过一段时间之后你就会感到迷茫直到放弃。

读者:我可是可爱的小白兔,你让我自己怎么去制定这个目标?怎么去规划学习路线?完全没有任何思绪跟经验啊!

确定好你要选择的方向,有效使用搜索引擎跟网络资源去看看这个方向需要的东西跟学习的路线(民间大神还是到处有的)我相信这些资源可以给你一个明确的规划。你看这个思路可行吗?

再不行的话!我 教你啊。欢迎骚扰我

第一个阶段很重要!回顾自己当初学习的历程,有时候才发现自己走了很多弯路,踩了很多坑。每个人绕的弯弯跟踩得坑或多或少有些差别。可能因为一本书,你花了大部分时间的精力去啃。最后你发现这并不是你想要的。或许朝三暮四因为一些时新颖且潮流的新技术,选择学习了一段时间最后也不了了之…

2. 自律它真的很重要

优秀的人不一定都自律,但是,自律的人都很优秀

也有一些读者会问我有没有必要报个班,有没有必要买个课之类的。我的回答是如果你足够能做到自律的话我还是建议你可以自己通过网络上现有且免费的资源自学并找到合适的工作(我身边的例子很多),先谋生之后再谋发展,猥琐发育不要浪!

当然!这里我也只是建议先大家先自学看看你收获到的效果。具体还是视个人的情况而定

  因为无论是自学或是以上另外的两种方式最终的成与否都是在于我们自己,都需要我们自己主动去触发自我学习的这个机制。并不是我们通过一些途径买了一些资料就会了,说到底还是得我们自己去学。再说回来吧!现在一些班跟课程大部分贼贵是其次,质量还不一定能比网上公开的资源优秀。当然!不否认一些做得很好的凤毛麟角,确实能带给你不一般的体验。

  王者农药、吃鸡…这类的很多游戏为什么可以让玩家上瘾?因为它的每一个细节都在触动着你的感官,嘴强王者这个称号它不香吗?
嘴强王者
它能带给玩家自身满足感与荣誉感。我以前也玩过这两个游戏,有时候为了能赢一把会熬夜玩上无数把!这个时候我的心态就崩了啊~

就是想赢一把来抚平连跪给我带来的伤害,有这么难吗?最后你发现几个小时过去了,还是没有赢。hahahaha~~

其实说到底吧,还是不够自律!谁以前又没有一段这样的人生呢?要是能把这劲用在写代码上岂不是无敌战神的存在!

那你要是问我写代码能不能给到那种满足感?
我会跟你说:

为什么我这么肯定说呢?我也是这么过来的。有时候你在解决一个BUG花了大半天,破解一个反爬虫花了一天。最后你解决的那一刻是非常爽的,它可以让你兴奋一整天,走路你都是御风而行。你甚至都在崇拜你自己为什么这么NB,你自己却没有发现那个过程中时间在流逝,而你在全身心的投入。它一样可以让你上瘾!

愿每一个人都能做到自律,时机和运气永远只是一时的。想要有所成就,真正靠得住的,只有自律、坚持和勤勉

3. 学爬虫的正确姿势

关于爬虫的学习路线与技术运用我就不做讨论了,毕竟每个人选择的工具、框架、语言都不一样。我们选择语言—再选择一个自己喜欢的爬虫框架或网络请求库—再选择一个自己喜欢顺手的解析工具—最后再选择一个自己喜欢的数据库就这么简单开撸哟。后期需要什么补什么…

  这个章节呢,主要是写给学习爬虫或者准备学习爬虫技术的读者去参阅的。我们都知道爬虫技术的门槛吧,它真不高!但也是需要做好路线的规划!首先我们选择一门爬虫的利器语言Python。爬虫这个领域它是一门综合技术,你需要掌握很强的综合能力

  当然,我们先抛开什么加密、混淆、验证码等这些让人讨厌的东西。前期我们刚开始学习的时候不用考虑的这么长远,当下先行。虽然这些让人讨厌的东西是不可或缺的,但是我们可以循序渐进、不断提升嘛

  说实话,面对高级的反爬虫破解确实是一件烧脑的事情。它不仅对初学者来说有一种恐惧感,对职业的工程师也是有一定威胁力的。实际上等到我们后期慢慢对基础知识的掌握,了解了它的一些工作、实现原理,解决起来自然也就不再那么恐怖了
脑壳疼
  这里我主要也针对未来想往爬虫这个方向发展或者已经在这条路上的群体做一个成长路线的概述,其实入门到初级再到高级的这个过程中,我们必然会遇到工作中的种种困难

可以给自己设定一些阶段性的小目标:

  • 第一阶段:打好扎实的基础,找一份爬虫岗位的工作或者你已经在这个岗位上。不断打怪升级锻炼,怎么说?不断的接触各种类型的网站,你的经验也会随之不断增加。然后可以跟身边领域内的朋友多分享交流,帮助这个领域内其他小伙伴解决、回答问题,给自己带来不断的收获跟前进的动力
  • 第二阶段:学习更多的爬虫技术跟知识,这里也是对技术的一个进阶与提升。包括爬虫的分布式、优化、源码的阅读、反爬虫的技术栈等。让自己去接触一些更深层次的东西
  • 第三阶段:技术的架构,这个阶段的话它涉及到的技术栈很广,不仅仅限于你当前从事的这个方向。你会接触到逆向工程、信息安全、数据分析、深度学习等等。怎么用?如何用?为什么这样用?是能力的一种体现,也是你在不断的实践中得到的结论。工作中可能需要去设计一个分布式爬虫系统,可能也会根据业务需求对一些开源的东西做二次开发跟优化

作为一个技术人,我个人认为在自己学习跟职业的路上,会有很多难题在等着我们。少不了翻文档、看源码…可以把自己解决问题的思路跟方法写成一篇技术文章。坚持跟学习是让你突破瓶颈的最好办法,这个过程虽然很煎熬!而解决技术的难题最好的方式不是看书跟实验嘛!

学会总结与归纳,让知识从吸收再到转化,从不懂到了解最后再到掌握,不断的强化学习

希望每一个正在学习爬虫跟从事爬虫工作的你。都能静下心来!认真学习、坚持自律、不断突破

4. 学会掌握学习方法

  很多初学者在自学编程的时候都会看视频,但是请不要单纯的依赖视频,借助视频的学习可以很快的了解概念,视频是别人咀嚼过的东西,很多人看视频学习觉得什么都听懂了,离开视频什么也写不出来。单纯的依赖书本的学习遇到一些比较难得知识点不太容易理解透彻,借助视频正好可以解决这一痛点,用书本学习编程,有助于建立自己的知识体系,加深你的印象。

曾经年少的我学习Python的时候看完一本书当时就觉得天下无敌了,事实并不是这样的!现实也是很残酷的!

  有的朋友可能工作了好几年,但是学习的时间可能很少。学技术不能急于求成,只要你的学习方法正确,量变一定会引起质变。不断的练习与思考可以改变你大脑的结构产生突破性的飞跃!要做到坚持学习,学习的环境非常重要。如果你想学,但是又不在学习状态,可以考虑换个环境试试?

  掌握系统化的学习方式,保证你学习的知识成体系。首先明确你需要学习的领域知识,以及需要达到的目标,然后针对这个目标去制定你的学习计划,就像写书一样,先列目录,然后根据目录上的知识点逐步去学习,最后再把这些知识点关联起来,形成一个系统化的知识体系。

自学的阶段,可以制定一个计划,以周或者月为单位,比如第一周或第一个月学习什么,下周或下一个月再学习什么。这里的学习也是需要制定目标的,最好以实战为目的,比如学习完一个爬虫框架你能用它快速开发一个爬虫并了解框架的基本使用及工作原理

另外很多人的学习方法使用点状法,所谓的点状意思就是:遇到一个问题去解决一个问题,用到一个技术,学习一个技术。最后程序出现BUG如果网上找不到解决的办法基本就解决不了了

我们可以根据自己处在的不同阶段去选择适应的书本以及资料

5. 快速成长的方法跟技巧

  作为技术开发者,在前几年的工作生涯里是我们快速成长的时候。所以说为什么很多年轻人大学毕业以后工作3~5年就能快速成为某一个领域的专家呢?当然,也有3年如一日的!这个时候难道不焦虑吗?不值得思考为什么吗?

  • 读源码
  1. 很多优秀的开源项目都是长期经历过打磨、迭代、与考量的。阅读好的源码是一种习惯与享受,参阅作者的代码与设计思想。分析源码中的细节与实现不仅能够帮助你在对它的使用上得心应手也能快速的提升自己的编码能力及思想
  2. 很多时候在你的工作中,你懂得如何去使用一个开源的东西。但是未来很难保证一些特殊的场景跟需求导致它出现了一个你不了解的BUG,首先去了解它能帮助你快速定位到原因
  3. 阅读源码甚至是去理解是需要花费时间的,并不是从字面的意思像你去学习英语一样去看人家的源码,比如爬虫很火的Scrapy框架,可以通过爬虫调试的方式一步步去深入理解它的工作原理及实现过程甚至是作者的设计思想
  • 翻文档
  1. 很多东西都有它的官方文档,包括一些民间大神开源的工具在Github上也会有详细的描述,在使用它之前我们可以花时间去消化一下它基本的简介。毕竟文档可以说是作者对源码的另一种文字描述
  2. 文档就好比说明书,告诉你如果去使用它,如何去扩展它。让你更加深刻的去理解一件产品的功能及介绍
  • 造轮子
  1. 人家都给你做好了,你只管用不就好了吗?这样的说法如果再你的工作中肯定是对的!大家都知道工作中不要去重复的造轮子。但是!造轮子它是一种学习方式,能够帮助你快速进步,快速提升自己的能力!造得好,知道得人用得人多了。不仅能增加你的知名度,更能奠定你在这个领域的地位。所以没事的时候多造造轮子也是一种快速提升自己的方式

          只要轮子造得好!金钱名气少不了

  • 写文章
  1. 写文章奥妙就多了,不管它是技术类还是爱恨情仇类的那都是需要一定积累跟文化底蕴的。能随随便便抬手就来个几千or几万字吗?能动不动写出有内涵的段子吗?
  2. 技术文章是总结、归纳与实践得出来的,它分为两种。第一种是总结型的,很多朋友在接触新的技术跟项目中所需的东西时,完成以后选择写成文章作为自己的总结并分享给他人,所以说有时候一些问题什么的都能在网上搜索到呢?就是因为这些无私奉献的人在默默的写文章。而另一种呢,是分享型的,通过对新技术、源码、工具等这些东西针对性的去做一番研究跟分析再出一篇文章既能巩固自己也能帮助他人,因为很多细节都已经给你总结出来了,关键的东西也都写出来了。这样其他人在学习的过程中节省了大量的时间成本

没事就多写写文章,写文章也是不断提升学习另一种方式,这个过程中你可能需要去借鉴他人的一些经验,也可能需要去翻阅一些相关文档跟资料

再见

6. 致谢

  好了,到这里又到了跟大家说再见的时候了。我只是一个会写爬虫的段子手而已,一个希望有朝一日能够实现财富自由,能够早日荣归故里的游子罢了。希望我的文章能带给您知识,带给您帮助,带给您欢笑!同时也谢谢您能抽出宝贵的时间阅读,创作不易,如果您喜欢的话,点个赞再走吧。您的支持是我创作的动力,希望今后能带给大家更多优质的文章

猜你喜欢

转载自blog.csdn.net/qiulin_wu/article/details/105707387