第一阶段
需要时间一个月。
1、python概念
python是一种解释型、面向对象、动态数据类型的高级程序语言。
理解:程序运行时才翻译成机器码;一切皆对象的编程思维;变量不需要指定类型。
优点:容易学习、容易阅读、有一个广泛的标准库、可移植性、可扩展性。
缺点:因为是解释型的语言,在运行时才编译,每运行一次就编译一次,这会大大降低运行的效率;发布程序时要把源代码发布出去,代码的保密不够好。python运用场景:web后端、自动化运维、数据分析、自动化测试、网络爬虫、机器学习。
2、数据类型
python有以下数据类型:
Number(数字):int、float、complex。如1,2,2.3 。
Boolean(布尔):True、False 。
None(空值):特殊,不是表示0 。
String(字符串):以单引号,双引号或三引号括起来。如'123'、"hello"、'''hello world'''。
list(列表):用[]括起来,如[1,1.2,True]。
tuple(元组):一旦初始化便不可修改,用括起来,如(1,2),一个元素为(1,)。
dict(字典):键值对,键名不可重复,如{'lili':18,'xiaoming':12}。
3、循环与函数
需要掌握数学函数、随机函数模块、math模块、运算符与表达式、分支语句、while循环、for循环、break语句、continue语句、pass语句、嵌套循环、列表生成式、可迭代对象、迭代器、函数、lambda匿名函数、装饰器、偏函数,变量的作用域,回调函数,返回函数,闭包,递归函数。
4、模块
主要有os模块,栈与队列,目录遍历,模块引入,包,安装第三方模块,time模块,datetime模块,calendar模块等。
5、面向对象
面向对象的思想:万物皆对象,以指挥者的方式编程。其中重要的概念有:类和对象,构造函数与析构函数,封装,继承,多态,运算符重载,发短信,读写文件,序列化,json模块。这时候还需要学习23种设计模式。
6、网络编程
需要学会错误处理try...except...finally的用法,python2与python3的区别,
高阶函数(map,reduce,filter,sorted),单元和文档测试,排列组合,正则表达式(re模块),网络编程(TCP/IP,发邮件)。
通过这一个月的学习,你已经在python的漫漫探索之旅上迈出了第一步也是重要的一步,算是入门了。
第二阶段
需要时间一个月。
一、学一些前端html
需要掌握以下内容:
1、需要知道html的结构和常用标签:双标签、单标签、语义化标签、标签属性。
2、表格与表单:表格table结构、作用,表单form格式、作用、配套标签、元素属性。
3、css样式:编写位置、选择器、权重、属性与值、字体、文本、背景、盒模型、宽高、边框、内边距、外边距、溢出处理、浮动、定位。
4、javaScript:语法、数据类型、运算符、条件判断语句。
二、js
需要学点js知识:
1、javascript中的循环语句、函数、DOW、BOW、数组、对象。
2、jquery、jquery获取元素、jquery操作元素、动画、ajax、常用原型对象方法、常用jquery静态方法。
三、数据库
这个知识点偏后端开发,但对其它行业,学习数据库也是大有裨益的。常用的数据库有Mysql,Postgresql,Redis等。
1、MysQl的常用数据类型、增删改查sql语句、字段约束、查询限定、多表联合查询、图形界面客户端、表关系管理、Mysql与python的交互、数据库事务。
2、非关系型数据库MongoDB和Redis的基本操作等。
四、版本管理控制
这个必须掌握,因为对与代码的历史邦本迭代就是靠这个来进行的。常用的管理工具有:GitHub,Gitee。常用的图形界面是SourceTree。
1、版本管理控制:Git常用命令、建立仓库、提交拉取推送、解决冲突、标签、多人协作开发。
五、Linux
这个不用我说,这个操作系统是程序员的乐园。
1、Linux:操作系统、系统目录简介、基本命令、文件颜色含义、管道与重定向、软件的安装、文件管理、磁盘管理、系统管理、服务管理、用户和权限管理、网络管理、vim使用。
第三阶段
通过上面两个阶段的学习,恭喜你已经进入了编程这一个广阔世界,你可以尽情在网络世界了遨游了。但是要想更高效率进行编码工作,那就需要学习框架,这就是第三阶段的学习内容, 需要时间一个月。
Python有好几个著名的框架:Django,Flask,Tornado,Scrapy,Odoo,Pygame,Tkinter,PyQT等。有了这些框架你可以搭建博客网站,商城网站,ERP企业管理系统,App后端管理,网络爬虫,游戏开发,桌面软件开发等。下面介绍几种常用框架需要学习的知识点。
Django框架
需要学习Django简介、MTV概述、创建项目、站点管理。Django的一些高级功能:会话技术、数据安全、密码加密、中间件、文件上传、验证码、分页、富文本、缓存、跨域等。 通过这个框架可以做些商城系统,博客网站。我就做了两个主要的项目:
电商系统项目
功能:首页,闪购,购物车,我的。
首页可以看到每日商品推送。闪购页面可以添加商品到购物车。
购物车页面可以增加或减少商品,可以下订单,进行支付。
我的页面可以查看个人信息,订单信息等。
博客网站项目
功能:首页、投票、 打分、事项、博客、资料、论坛、登录、注册。
投票:给编程语言排行榜。功能:投票、留言、刷新。
打分:对演讲者进行打分。功能:打分、留言、刷新。
事项:每天要办的事项。
博客:用来做笔记、日记。
资料:一些Python书籍,网站,显示出来,点击一个目录就跳转到相应的路径论坛:用户可以在里面交流。
Flask框架
这是一个自己可以定制开发的web框架。需要学会Flask简介、MTV架构,Views请求与响应、Templates、Models、Flask-Script、Flask-Bootstrapt、Flask-Mail、Flask-WTF、flash消息、FLask-Moment、FLask-Uploads、flask中的RESTFUL等。
当然自己写的项目网站想让广大网友能够访问,就需要购买云服务器和域名,然后把python项目部署到云服务器 上。
第四阶段
其实通过以上3个阶段的学习,你就已经是一名中级Python开发工程师了,可以胜任很多职位,但想往更高级进化,还需要学习完第四阶段,需要时间一个月。在这个阶段主要学习爬虫,数据分析,机器学习这些Python最火热的运用场景。
爬虫
学习python爬虫,意思就是爬取网页内容,想要实现的是可见即可爬。用到的知识点有urllib模块、requests模块、handle处理器和自定义opener、爬取策略、bs4抓取页面和提取数据、xpath抓取页面和提取数据、线程、协程、进程、线程池。 学会这些后,接下来需要学习一个爬虫框架,进行高效率爬虫。
Scripy框架
scrapy框架:简介,架构图,安装,制作爬虫,入门案例,保存数据,反反爬虫策略,多页爬取,中间件,模拟登录,使用redis实现分布式爬取,部署,使用Gerapy管理爬虫。
爬取到数据后,最好做数据分析。
数据分析
数据分析:jupyter IPython常用命令、numpy模块常用函数、pandas模块常用函数、案例分析、pandas绘图、matplotlib绘图、pandas数据处理、pandas数据加载、pandas透视表和交叉表。如果想获取一些测试数据可以到网站kaggle,这是一个很有趣的网站,如果你在上面做题目获取比较高的排名,就可以直接到大公司去面试了,然后把网站上的战绩往简历上一放,不知胜过多少豪言壮语。
以上都是为数据挖掘做基础的。当然还有机器学习也跟这个也密不可分。
机器学习
主要学习一些算法如推荐算法、knn算法、线性回归、逻辑斯蒂回归、朴素贝叶斯、机器学习开发编程流程、决策树、SVM、K-means、特征工程、PCA降维、机器学习评价指标、Tensorflow框架、卷积神经网络。
以后将是人工智能的时代,如果你现在就会数据分析,机器学习,你就会发现一个新世界的大门。
以上就是我想分享的python通过四个阶段学习来掌握一门编程语言,乃至找到一份好工作。
最后引用Python的经典名言:人生苦短,我用Python。