方正的python学习路线

2020-06-19 00:00:00 开发 学习 爬虫 轮子 个月

很多粉丝都在询问如何学习Python以及学到什么程度就可以就业了。


Python学习实际上并没有那么困难,难就难在一个对电脑都不怎么熟悉的人,会被各种教材中略过的「常识性」所搞得迷迷糊糊。举个例子,如果书中提到「....将这个东西推到队列中,等待后面的调度....」我估计这句话就能把初学者搞得够呛,什么是队列,什么又叫调度?


那么今天,我就将之前看的一些文章,排版从简单到难,一步一步的梳理下来,希望对粉丝有帮助。


Python基础


开发、调试、准备工具

  • 开发环境下载:请直接下载python新版本,无需纠结3.0+还是,2.7。
  • 编辑器1:notepad++:简单易用,有中文版,写好的代码在py环境中运行
  • 编辑器2:vscode:实际上任何东西都可以在vscode上写,不过写python的话需要下载一些插件和配置


初级教程

  • 廖雪峰的python教程

实际上,廖雪峰老大已经把python的全部知识都已经囊括在内了,作为基础到部分,都可以看廖雪峰老大的教程


诚然,我并不打算推荐别的教程了,因为,廖大的教程已经做到:小白化,傻瓜化,稍微有点脑子的,都能学会。


操作系统基础(非紧急)

  • Linux基础教程

说真的,如果你去找工作,不会linux,那么真的是很难,学习linux的方法就是多用,因此我推荐大家可以安装:Vbox虚拟机,安装一个Ubuntu,然后开始在上面打一下Linux命令。


数据结构与算法基础(非紧急)

在此,我只列出数据结构与算法的一些目录,自行百度

  • 数组
  • 链表(延伸:数组和链表的差别)
  • 栈,队列,哈希表
  • 几大常见排序算法
  • 树的遍历算法
  • 广度优先算法和深度优先算法



Python进阶路线

在python进阶路线中,我将python分为「爬虫开发」以及「web开发」,这两个属于不同的大方向,在实际工作内容中,则是完全不同的编码。


但是,并不是说你学习了「爬虫开发」就不用学习「web开发」,实际上,他们两个路线会有很多很多的交集,应用场景,甚至是你做web开发的会经常被抓去写个爬虫抓数据,你做爬虫开发的也会被抓去做一下web开发,重要的原因就是:这两个方向都是关于网络的


两个路线共同要学习的知识

  • HTTP 协议入门 - 阮一峰的网络日志:必须学习
  • WSGI协议:python与服务器通讯的协议


以下三个跟python完全没什么关系,但是实际上,这就是作python开发必备的知识,无论是爬虫还是web开发

  • HTML 教程
  • CSS 教程
  • JavaScript 教程

Web开发(基础)

  • 廖雪峰web开发

廖大的一套web开发教程,从简单的到后的建站部署,一套俱全。


爬虫开发

  • 如何入门 Python 爬虫?

这个帖子,已经完全说明了如何去开发一个爬虫,我也就不多说了,当初我也是看这里学习的。


Python实践

从初级到,大的区别就是,你「懂」怎么使用python这个工具了,但是你没有开始造轮子。造轮子这个事情,在编程行业中常见,能否造轮子很大程度上「直接决定了你这个人是否有可塑性


我敢把话放在这里,如果一个程序员一辈子只用过工具,而没有造过轮子,那么你这辈子都只是平庸之辈!


世界上的东西早就被别人造完了,如果你想造一个别人没有的东西,那不如不做。---- @vczh


字面意思,我们通过造轮子,来学习,并且实践我们所学,并且在造轮子的过程中,获得编程中牛逼的一种能力:解决问题的能力


一些有实战意义的轮子

  • Django搭建博客
  • 分布式爬虫
  • 一起写一个web服务器系列:「一起写一个 Web 服务器(1) - Python - 伯乐在线」「一起写一个 Web 服务器(2) - Python - 伯乐在线」「一起写一个Web服务器(3) - Python - 伯乐在线」


学到什么程度可以用Python找工作


实际上,这个因人而异,有些人学2-3个月就可以找到工作了,有些人学习python一年半载也找不到。


其中的重点,当然就是「你学得怎样」,检验你学得怎样的标准并没有,我只能说一说我个人的一些检验标准,仅供参考


  • 读懂Flask源码,并且自己开发出一个简易的web框架

不要觉得读懂Flask源码是一件多么可怕的事情,实际上读源码有很多的方法,这就考验了你如何解决问题的能力。


读源码,可以直接跑去读别人写的代码,聪明一点的做法就是先去搜索有没有人对源码进行解读过,然后读别人解读过的源码,知道其思想以后,再去看Flask的代码


当我们读懂Flask源码的时候,我们怎么证明自己能读懂了呢?答案就是:自己造一个简易的Web框架


干货地址:flask 源码解析:简介 - Python - 伯乐在线

  • 仿站

使用python模仿2,3个现有的站点,你基本上对于数据库,部署,服务器,python编程都有了非常全面的了解。那么你就可以开始去找工作了。


比如,知乎,电商平台,豆瓣。网上有很多教程,在这里就不一一介绍。


  • 造一个分布式爬虫框架

干货地址:分布式爬虫


Python学习时间

个月:完成本文Python基础部分的学习

第二个月:完成Python进阶路线

第三个月:开始造轮子

第四个月:造轮子

第五个月:造轮子

第六个月:造轮子

第七个月:尝试找工作


关于写简历

方正:如果在简历上这样写,能找到工作吗?,我在这篇文章里有比较详细的解答


(完)



更多编程知识,请关注 @方正

相关文章