Python复习计划(也可以作为Python的学习路线)

Python复习计划(第一次写博客)

  • 前言
    • 一.Python基础相关
    • 二.数据结构/基本算法
    • 三.网络编程
    • 四.数据库(1.关系型数据库)
    • 五.web开发(前端)
    • 六.web开发(后端)
    • 七.数据库(2.非关系型数据库,MangoDB有时间会添加其中。)
    • 八.爬虫(此处学习的自认为不太好所以要着重学习以便于加深HTTP协议的了解。)
    • 九.Linux系统(常用操作)
    • 十.扩展
    • 十一.展望(学如逆水行舟,不进则退。)

前言

作为一个刚从学校出来的菜鸟(工作1年左右,当然加上大学实习),在工作后深知自己在基础上自己不足所以才有了所谓的复习计划。
这个计划是为了总结自己之前冗杂的知识,进行系统化的梳理增强自己对学过知识的印象。也是为了之后的个人项目以及工作的打好的基础以免在开发当中在小点上耽搁时间,或造成代码不必要的冗余,以及bug。如果您是刚接触编程想要学习Python语言,这或许会给你一些小帮助,但注意这不一定适合每一个人的学习路线根据自己的实际情况制定学习路线会更好。
(当然这个计划只是最初版,可能在一些部分会比较乱,在复习时会随时更改匹配的标题,和补充。欢迎大佬指导菜鸟如果有建议请提出来,感激不尽!)

一.Python基础相关

Python基础至关重要这关于到以后学习高级知识的接受学习能力。

  1. Python基础函数以及函数和数据类型,方法;应用场景,内存更换关系(着重于函数以及数据类型的属性内在含义;有逻辑的分析其应用意义)。
  2. Python容器类型及其应用场景(总结容器在python的意义以及定位),在上次复习函数的基础上考虑函数的参数以及作用域。(外加错误的处理:测试,调试(try~))
  3. .高级特性;迭代器,生成器生成原理,内在属性的运行原理。
  4. 高阶函数;lambda表达式(匿名函数)。
  5. 闭包以及装饰器的原理,了解其诞生的意义。
  6. 面向对象梳理总结,关于封装;继承;多态。面向对象编程的设计思想以及六大设计原则。

二.数据结构/基本算法

数据结构是必不可少的,学习后能更好的理解程序的运行原理。
算法是实现逻辑的运算核心,这更涉及到程序的运行速度,好的算法能大大的优化程序减少运行时间。

  1. .链表、栈、队列…
  2. 二叉树
  3. 十大排序方法(冒泡、快排… …)

三.网络编程

网络编程,个人理解为网络应用程序所应用到的编程技术。(了解的比较浅薄,如果看过更好的解释欢迎评论!)

  1. .网络基础,TCP/IP,三次握手,四次挥手。(这个必须了解,几乎在面试时候每次都问的问题。)
  2. socket套接字基础概念,TCP基础编程,UDP基础编程,套接字属性。(了解广播概念,struct模块)
  3. 多任务编程:多进程(fork,multlprocessing…):进程间通信,同步互斥; 多线程(threading…):线程锁; 分布式进程。
  4. IO编程,协程编程。
  5. 多进程并发,多线程并发。
  6. 多路复用。
  7. re模块,正则表达式的应用。(搭配文件读取内容匹配为爬虫做准备).
  8. 图形化界面,电子邮件(了解即可).。

四.数据库(1.关系型数据库)

数据库分为关系型数据库以及非关系型数据库,相对于非关系型数据库,关系型数据库在储存互相关联的数据上更加合适,而且保持了数据的一致性。

  1. .MySQL基础,数据表设计,数据库操作(增删改查).
  2. 数据库的外键,索引,事务,关联关系.。
  3. MySQL高级查询,子查询,数据库优化。
  4. PyMySQL模块的使用,持久化层的实现。

五.web开发(前端)

在网站开发当中前端是作为客户端呈现给众人可视化的操作窗口。

  1. HTTP协议(了解一次访问事务的全流程).[重中之重有时间多加了解底层协议,这是互联网的基石。]
    .【以下为非必要项,如果时间感觉不充足以下了解即可,有时间在加深了解,着重于后端开发】
  2. HTML基本结构,常用标签。
  3. CSS使用常用选择器以及盒模型。
  4. 浮动布局,定位布局,其他属性。
    【以下为相对重要的前端语言(在面试的时候曾经有闻到过相关的知识)】
  5. Javascript概念,数据类型以及转换
  6. Javascript.运算符,判断语句,循环。
  7. Javascript函数,数组,字符串。
  8. DOM操作,事件处理,BOM。
  9. 组件化:jQurey。

六.web开发(后端)

在网站开发当中后端是作为控制网站运行的大脑,负责开发网站后端信息处理逻辑部分。(说的有些笼统,如果跟我一样是还只是菜鸟的话可以先这样理解,在以后实践过程当中自己会有更好的理解。)
.【Django框架】

  1. .Python工具使用。web与服务器了解;框架的概念;MVC/MTV模式区别。(刚学习的建议优先了解为什么使用框架,以及底层的一些处理机制在学习框架会基础更牢。)
  2. Django内在应用,URL路由配置,模板设置,模板加载方式。
  3. 内在语法、模型、ORM映射、使用模型和配置关联数据库。
  4. Models操作,数据的导入导出以及版本更换。
  5. 原生语句操控数据库,后台管理models,一对一、一对多映射查询。
  6. 多对多映射查询,自定义查询对象。
  7. csrf跨站攻击了解及应对方式.
  8. 文件上传,数据分页,中间件。
  9. cookies,session会话。
    【AJAX】
  10. .AJAX概念,同步与异步,XMLHttpRequest,XHR成员。
  11. AJAX的GET/POST请求。
  12. JSON前后端处理。
  13. jQuery实现AJAX操作,以及跨域处理。
    【前后端开发,token,cors等】(此标签待补充更改,因为此处学习的比较混乱。)
  14. 了解前后端开发概念优缺点。
  15. token解决问题的方法以及应用方式。
  16. 如何用cors解决跨域的问题.
  17. 动静分离.。
  18. hash算法加密/JWT。
  19. RESTful

七.数据库(2.非关系型数据库,MangoDB有时间会添加其中。)

NoSQL数据库是以键值对的方式存储的而且不需要经过SQL层的解析,所以性能非常高。
可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。

  1. NoSQL概念,Redis安装配置、特点以及应用、数据类型。
  2. Redis发布订阅,Python与Redis交互,数据持久化。

八.爬虫(此处学习的自认为不太好所以要着重学习以便于加深HTTP协议的了解。)

爬虫的学习可以加深HTTP了解,在爬虫的过程中需要分析网页这也是为什么爬虫是学习Python不可缺少的部分。

  1. robots协议、urlllib基本应用。
  2. 正则抓取文件信息,数据持久化。
  3. request模块以及高级,非结构化数据抓取、xpath数据提取,反爬基本应对。
  4. lxml解析库,Cookie的模拟登陆抓取,分析json应对反爬。
  5. 对于AJAX动态加载数据的抓取方式,JSON模块。
  6. selenium+phantomjs chromedriver geckodriver
  7. 多线程模块:BeautifulSoup模块。
  8. Scrapy框架,以及数据持久化存储、多级子页面的跳转爬取。
  9. Scrapy shell、CrawlSpider类、分布式爬虫。
  10. 机器视觉 tesseract 验证码识别。

九.Linux系统(常用操作)

Linux系统是大部分项目的开发环境,所以Linux操作是开发人员必须掌握的技能之一。

十.扩展

  1. Flask框架
  2. TORNADO框架

十一.展望(学如逆水行舟,不进则退。)

不管是工作多少年的人都不敢说自己毁了全部,所以作为菜鸟的我更需要明白自己依然需要学习,学无止境。
11. gevent
12. tornado(ioloop)
… …

第一次写博客,也是打算养成这个习惯,督促自己不要咸鱼,虽然写的不是很好也希望能给别人不多的帮助,如果你看到这里,那非常感谢你的观看!
谢谢!

你可能感兴趣的:(Python复习计划)