兴趣使然,编程往往成为一项生存技能,编程的魅力就在于指引我们用编程思维处理问题。因为编程体系有着非常严密的逻辑,所以在学习编程的过程中,也会深刻影响着学习者的思维能力和思考方式。为了方便大家学习入门Python,我总结成了一张Python学习线路图,下面按照学习模块进行了细化知识点加以说明,希望对大家的学习有一定的借鉴作用:

一、Python基础阶段

技能树:掌握python脚本、python界面编程能力、数据库、基本爬虫、多线程多进程开发能力,可以胜任基本的python开发工作。变量、算法、解释器、Python基本数据类型、列表和元组的操作方法、字符串操作方法、字典操作方法……

 

知识点细化:

  1. 数据的存储:Python概述、进制以及进制转换、原码、反码、补码、第一个Python程序、终端读取与打印等。
  2. 运算符与表达式:关键字和标识符、算术运算符、python数据类型、赋值运算符、运算符、复合运算符、条件控制语句(if..else...)、逻辑运算符等。
  3. 循环:循环语句之while、循环语句之for、break与continue语句等。
  4. 基础数据结构:Number与数学函数操作、String(查找,替换,下标索引、列表(常用)、元组、字典(常用)、set集合、迭代器与生成器(常用)、函数概述等。
  5. 函数:函数的调用、简单函数的定义、函数的返回值、传递参数、关键字参数、默认参数、不定长参数、匿名函数、装饰器、偏函数、回调函数、变量的作用域、递归函数、目录遍历、递归遍历目录、栈模拟递归遍历目录(深度遍历)、队列模拟递归遍历目录(广度遍历)等。
  6. 模块:模块概述使用标准库中的模块使用自定义模块name属性包的概述安装第三方模块virtualenv与时间相关模块。
  7. 面向对象编程:面向对象思想、类与对象、类的方法与属性、构造函数与析构函数、self的使用、重写__ repr__ 与__str__ 函数、访问限制等。面对对象OOP,更高层次的Python程序结构,代码的重用避免代码冗余,打包你的代码,函数的参数、作用域等。类,可以帮助我们减少大量的开发时间,提高编程的效率,对中大型项目十分关键。
  8. 继承、封装、多态 :单继承的实现、多继承的实现、函数重写、人开枪射击子弹小案例、多态、对象属性与类属性、类方法与静态方法等。
  9. 面向对象高阶:动态添加属性方法、property、运算符重载、发邮件与发短信等。
  10. 文件操作与异常处理:StringIO与BytesIO、文件的管理操作、文件读写(csv、txt)操作、异常处理等。
  11. 高阶函数与测试:调试(打印、断言、logging、pdb)
  12. 排列组合与正则表达:破解密码(排列、组合、排列组合)、正则表达等。
  13. 网络编程:TCP/IP简介、TCP编程、UDP编程等。

二、Linux和数据库阶段

技能树:掌握Linux操作系统管理技术,可以搭建几乎所有Linux环境服务器。

 

知识点细化:

  1. Linux操作系统:常见操作系统、操作系统发展历史、系统的使用、Linux版本、Linux应用领域、虚拟机与Vmware的安装、Linux版本与Ubuntu 16.04、配置自己的Linux系统、编程IDE的安装、apt-get安装软件包。
  2. 文件系统与用户管理:目录访问、文件与目录的管理、文件的权限、用户管理。
  3. 文本操作命令:文本命令、文本编辑器Vi/Vim。
  4. 网路命令、进程管理与服务配置:网络管理命令、系统目录、重要系统文件、设置开机启动与登陆启动、IP配置、服务的启动停止、防火墙配置。
  5. Shell编程与bash、源文件编译:基础IO操作、流程控制、定义变量与环境变量、脚本传参、定时任务、定时系统操作。
  6. 版本控制:Git的安装与配置、GitHub的注册与使用、Clone与Fork、Git常用命令、标签、分支与源、多人协作开发。
  7. MySQL基本使用:MySQL的安装、MySQL简介、MySQL基本命令脚本、MySQL与Python的交互。
  8. MongoDB的基本使用:MongoDB安装、MongoDB的基本操作。
  9. Redis的基本使用:Redis安装、Redis的基本操作、Redis的数据类型、Redis的备份与恢复。

三、Python web开发

技能树:掌握Python后端框架,解决前后端Web开发问题。

知识点细化:

  1. HelloDjango:BS/CS,MVC/MTV、Django请求流程、Admin管理。
  2. Models:ORM、模型字段属性、CRUD、聚合函数,F,Q对象。
  3. Models&Templates:模型对应关系、模板加载、静态资源、模板语法。
  4. Views:路由规则、反向解析、请求与响应、会话技术cookie,token,ses-sion、文件上传。
  5. Advanced:验证码、分页器、类视图、中间件、日志、缓存、信号、Cerlery、用户权限,用户角色。
  6. RESTful:REST概念、HelloREST、数据序列化、请求与响应、视图,转换器、关系,超链接、认证和权限。

知识点细化:

  1. HelloFlask:Flask介绍、Flask请求、Flask MTV拆分、Flask-Script。
  2. Views:Flask Blueprint、路由规则、错误处理、请求与响应。
  3. Templates&Models:静态资源、模板加载、模板语法、ORM、Flask-SQLAlchemy。
  4. Modesl:Flask-Migrate、CRUD、模型关系、反向引用。
  5. Extension:Flask-Cache、Flask-Login、Flask- RESTful、Flask- Bootstrap、Flask-Upload。
  6. Program:需求分析、项目设计、基础框架搭建、建模。

四、Python爬虫阶段

技能树:掌握分布式多线程大型爬虫技术,能开发企业级爬虫程序。

  1. 多线程原理:同步与异步、串联与并发、线程、开辟一个线程、线程安全与线程锁、多线程队列。
  2. 协程:线程的局限、协程的定义与原理、协程的实现。
  3. 爬虫的概念及相关工具:爬虫的概念及作用、HTTP协议原理、工具的安装、使用。
  4. Python http libs:urllib的使用、示例requests库的使用、bs4库的使用、xpath语法。
  5. 爬虫实战:使用requests编写-个简单爬虫、改造requests爬虫为多线程版、利用redis改造多线程版爬虫至分布式。
  6. scrapy框架:scrapy安装、创建项目、创建spider文件,编写parse方法、scrapy子命令、运行scrapy爬虫程序、命令行传递参数、进一步解析二级页面、parse方法之前传递参数、导出json、Csv格式的数据、scrapy爬虫的状态保存、item的定义、item的使用、pipeline的使用、使用pipeline将items存储至MySQ、Lscrapy整体架构、downloadermiddleware、使用downloadermiddleware实现IP代理池、spidermiddleware、scrapy插件、scrapy-redis。
  7. 量化交易:自动化交易理论、Python量化交易框架。

五、Python机器学习阶段

技能树:掌握Python数据挖掘分析,入门人工智能。

知识点细化:

  1. jupyter入门:jupyter软件安装、jupyter入门、numpy学习。
  2. pandas:pandas入门、pandas-Series、pandas数据丢失、pandas索引、pandas数据处理、基于Pandas的人脸识别技术。
  3. scipy:scipy学习
  4. matpoltlib:数据可视化的概念、可视化图表的绘制、动画及交互渲染、数据的合并与分组。
  5. KNN:临近算法、预处理、KNN相关函数。
  6. 线性回归与逻辑斯蒂回归:线性回归、逻辑斯蒂回归。
  7. 决策树与贝叶斯:贝叶斯学习、决策树学习。
  8. SVM与K均值聚类:SVC学习
  9. Kmeans: Kmeans学习
  10. 机器学习框架TensorFlow:机器学习、权重分配与优选方案、深度学习、自动化神经网络、AI网络的描述。
  11. 自然语言处理与社交网络处理:文本数据处理、自然语言处理及NLTK、主题模型、LDA、图论简介、网络的操作及数据可视化。