Python初级、中级、高级学习路线 |
您所在的位置:网站首页 › python入门级别书籍 › Python初级、中级、高级学习路线 |
目录
一.初聊Python
1.为什么要学习Python?2.Python优势3.Python学习建议4.给初学者的鼓励 二.Python成长路线
1.Python初阶
(1) 预备知识(2) 基础语法(3) 进阶语法(4) 面向对象编程 2.Python中阶
(1) 基本技能(2) Web应用开发(3) 网络爬虫(4) 桌面应用开发 3.Python高阶
(1) 科学计算基础软件包NumPy(2) 结构化数据分析工具Pandas(3) 绘图库Matplotlib(4) 科学计算工具包SciPy(5) 机器学习工具包Scikit-learn(6) 深度学习(7) 计算机视觉(8) 自然语言处理
一.初聊Python
1.为什么要学习Python?
在学习Python之前,你不要担心自己没基础或“脑子笨”,我始终认为,只要你想学并为之努力,就能学好,就能用Python去做很多事情。在这个喧嚣的时代,很多技术或概念会不断兴起,我希望你能沉下心来去学习,不要急于求成,一步一个脚印。当你把某个技术学好、学精后,还是能做一些事情的,甚至能找到喜欢的工作或完成实践项目。 程序语言没有最好,只有最适合。作为一名初学者,我非常推荐你学习Python,为啥?一方面是因为它具有语法清晰、代码友好、易读性高的特点,同时Python拥有强大的第三方库函数,包括网络爬取、数据分析、可视化、人工智能等;另一方面Python既是一门解释性编程语言,又是面向对象的语言,其操作性和可移植性高,被广泛应用于数据挖掘、信息采集、人工智能、网络安全、自动化测试等领域。甚至,很多小学生、高中课程和计算机二级也都陆续增加了Python。 Python最大的优势在于效率。有时候程序员或科研工作者的效率比机器的效率更重要,对于很多复杂性的功能,使用更加清晰的语言能给程序减少更多的负担,从而大大增强程序的质量,其易学性和扩展性也能让新手很快上手。虽然Python底层运行速度要比C语言慢,但Python清晰的结构能解放程序员的时间,同时很方便的和其他编程语言代码(如C语言)融合在一起。 所以,从来没有一种编程语言可以像Python这样同时扎根在这么多领域,并且Python支持跨平台操作,也支持开源,拥有强大的第三方库。尤其随着人工智能的持续火热,Python在IEEE近几年发布的最热门语言中多次排名第一,越来越多的程序爱好者、科技关注者也都开始学习Python。 在Python学习过程中,不要觉得你的底子薄或者之前没接触过,就想放弃,很多人还没起跑就选择退赛。我想,只要沉下心来,肯下功夫,就能学好。在学习过程中,一定要去写代码、写代码、写代码,只写真正动手去实践,才能慢慢积累。 同时,编写代码过程中出错也是家常便饭,我现在写Python代码每天不出点错,心里都躁得慌,所以遇到错误,学会百度、谷歌去解决真的非常重要,它也是你学习能力的一种提升,实在找不到错误,可以去开源论坛、社区、学习群里提问,也欢迎来公众号或CSDN找我。 接下来我给出前辈许向武老师推荐的Python程序员成长路线图,包括:基础语法–>语感训练–>课题练习–>分方向继续学习–>中级程序员–>拓展深度和广度–>高级程序员。 这里,给出我学习Python的一些历程和技巧。我最早接触Python是2013年,主要是因为研究生方向是自然语言处理,需要通过Python抓取数据并进行分析,所以就选择了它。那些年Python的资料很少,也没这么火热,但也一直坚持着,具体建议如下: 先把环境安装,开始编写第一个Python代码,别再去等明天了学习过程中切勿看视频(书籍),喝着奶茶,就是一天,一定要动手敲代码啊通常先了解Python基础语法,推荐MOOC北理工嵩天老师的视频和runoob语法,当然B站和CSDN上也有很多免费资料,大家可以去选择 – https://www.icourse163.org/course/BIT-268001 – https://www.runoob.com/python/python-intro.html基础语法大致掌握后可以尝试学习Python网络爬虫,因为不论是数据分析、机器学习、渗透测试等,都会涉及到爬虫技术,只有拥有自己的语料,才能处理更多问题。 爬虫方面不用太深入,掌握两门技术即可 Urllib、Requests、BeautifulSoup、XPath、Selenium、Scrapy、分布式爬虫接下来学习Python可视化分析(词云)、微信操作、邮箱发送等功能,这些知识能有效提高你的编程兴趣人工智能方向:包括机器学习(回归 | 聚类 | 分类)、深度学习(TensorFlow | Keras | Pytorch)学习,建议结合实际科研或项目进行深入研究图像识别方向:包括图像处理、OpenCV、模式识别、机器学习、深度学习、目标检测学习,也建议结合实际科研或项目进行深入研究其他方向学习:Web网站开发、网络安全、自动化测试、应用程序编写学习路上没有捷径,只有坚持,但你却能通过Python不断提升你的学习兴趣,做一些喜欢的事,喜欢上这门语言。最后给出当年大三学习Python时激励自己的话: If not now, when? If not me, who?如果不是为了自己奋斗,又是为谁;如果不是现在奋斗,什么时候开始呢? 4.给初学者的鼓励自认为我不是一个很聪明的人,但肯努力,肯下功夫。Python对新手非常友好,各种扩展包可以供我们实现想要的工作,因此一定不要胆怯,干就对了,从零开始一点点实战,你肯定会成长的。如果你还是一位初学者,就放手去拼搏,看看你能学到什么程度;如果你还是一名学生,请牢记“真正的大神都是寒暑假练成的”,珍惜每一个假期,多写代码完成想要的某个作品。 曾记否,我本科和高中好友在乘火车上回家的路上说到: 我们其实还是很优秀的,至少能从家乡考过出来读大学,在生活中我们会遇到很多人有困难需要帮助,很可能这个对你来说只是举手之劳,而对他却为难整个家庭。这时你要帮助,你帮助他又不会少块肉,尤其是对陌生人的那种无偿帮助!因此,在学习和编程过程中,我们也会遇到各种各样的困难,而且很可能这种困难对你来说非常的简单,但是别人确实百思不得其解!这种感觉我也经常遇到,怎么都不会的别人一点就通。所以当别人不会的问你时,你也应该去帮助,这也是对你的提高。 蓦然回首,自己读了十多年的书,作为学生,我又在大学学到了什么呢?你也可以思考下你学到了什么,以及接下来你需要去学什么?我的收获或许是: 当我拿到一个东西,自己能独立的查阅资料完成,这种独立搜索问题、思考问题、解决问题的能力是我更愿意与您分享的,也是你我大学应该学习的。当我分享了一篇文章、教同学完成一个项目、阅读到一些更美妙的东西时,,心灵都会为之颤抖,这或许就是分享的魅力,知识的魅力,写博客的魅力。在学校、CSDN和家园认识了一帮很好的朋友,认识到更多比自己更优秀的人,大学不仅仅是学习,还有更重要的生活。理科生不仅仅是工科,还有更重要的文学素养需要提升,还需要一辈子学会做人。在大学自己全身心投入完成了自己感兴趣的几个东西,这种感觉我无法描述,不亚于游戏里的一次超神,反正就是十分美妙!它们不仅仅有分享知识博客后的自豪、尽自己最大努力去从零开始完成自己感兴趣的项目的兴奋、还有寒暑假自己深夜孤独的学习自己感兴趣的知识等。认识了女神,有了小珞,娜璋珞一家开心生活。如果你也是一个大学生,你也应该去享受一下自己独立完成一个自己感兴趣东西的过程。在这期间,你需要自己查阅资料、调动自己的积极性,尽自己的最大努力去完成它,最后这种感觉真的很享受。短暂的激情是不值钱的,只有长久的激情才是值钱的,不论未来如何变化,我希望自己能始终坚持自己的为人做事原则,怀抱一颗感恩的心坚持着去实现心中的梦想,去学会享受生活! 最后用我在CSDN看到云南的一位读者专程注册CSDN的评论,我备受鼓舞,也希望分享与更多的人,一起去拼搏,一起去战斗,感恩同行,感谢CSDN! “我不在意别人的眼光,别人的评价,我只想学到更多的东西,农村孩子下雨没伞只有拼命奔跑才有未来,如果可能,我也想成为一名高校老师,呆在云南”。啊,真喜欢这种素未谋面的云鼓励,面对这些伙伴,我有什么理由不继续分享,不继续奋斗呢? 接下来分享我和CSDN许老师在CSDN完成的《Python成长路线图》,许老师是非常谦逊又有才华的前辈,值得我们每个人学习。很愉快的一次合作,同时感谢CSDN和周老师,也欢迎大家继续补充和指正。 https://codechina.gitcode.host/developer-roadmap/python/intro/Python初阶主要包括预备知识、基础语法、进阶语法和面向对象编程。 Python初级学习路线完整如下图所示: Python中阶主要从基本技能、Web应用开发、网络爬虫和桌面应用开发四个方向介绍。 Tkinter – Tkinter简介 – 安装配置 – Tkinter模块 – Tkinter控件 – 标准属性 – 几何管理 PyQT – PyQT简介 – 安装配置 – PyQT模块 – PyQT布局管理 – PyQT菜单和工具栏 – 事件和信号 – PyQT对话框 – PyQT控件 – PyQT拖拽与绘图 WxPython – WxPython简介 – 安装配置 – WxPython常用类 – WxPython布局管理 – WxPython事件处理 – WxPython对话框 – WxPython组件 – WxPython拖拽处理 – WxPython绘图API 高阶主要包括科学计算基础软件包NumPy、结构化数据分析工具Pandas、绘图库Matplotlib、科学计算工具包SciPy、机器学习工具包Scikit-learn、深度学习、计算机视觉和自然语言处理。 Pandas概览 – Panda的特点 – 安装和使用 数据结构 – 索引数组Index – 带标签的一维同构数组Series – 带标签的二维异构表格DataFrame 基本操作 – 数据预览 – 数据选择 – 改变数据结构 – 改变数据类型 – 广播与矢量化运算 – 行列级广播函数 高级应用 – 分组 – 聚合 – 层次化索引 – 表级广播函数 – 日期时间索引对象 – 透视表 – 数据可视化 – 数据I/O (3) 绘图库Matplotlib安装配置 Matplotlib快速入门 – 画布 – 子图与子图布局 – 坐标轴与刻度的名称 – 图例和文本标注 – 显示和保存 图形绘制 – 曲线图 – 散点图 – 直方图 – 饼图 – 箱线图 – 绘制图像 – 极坐标绘图 风格和样式 – 画布设置 – 子图布局 – 颜色 – 线条和点的样式 – 坐标轴 – 刻度 – 文本 – 图例 – 网格设置 Matplotlib扩展 – 使用BaseMap绘制地图 –3D绘图工具包 (4) 科学计算工具包SciPySciPy概览 安装配置 数据插值 – 一维插值 – 二维插值 – 离散数据插值到网格 曲线拟合 – 最小二乘法拟合 – 使用curve_fit()函数拟合 – 多项式拟合函数 傅里叶变换 – 时域到频域的转换 – 一维傅里叶变换的应用 – 二维傅里叶变换的应用 图像处理 – 图像卷积 – 边缘检测 – 侵蚀和膨胀 – 图像测量 积分 – 对给定函数的定积分 – 对给定样本的定积分 – 二重定积分 非线性方程求解 – 非线性方程 – 非线性方程组 线性代数 – 计算矩阵的行列式 – 求解逆矩阵 – 计算特征向量和特征值 – 矩阵的奇异值分解 – 求解线性方程组 聚类 – k-means聚类 – 层次聚类 空间计算 – 空间旋转的表述 – 三维旋转 (5) 机器学习工具包Scikit-learnScikit-learn概览 安装配置 数据集 – Scikit-learn自带的数据集 – 样本生成器 – 加载其他数据集 数据预处理(Preprocessing) – 标准化 – 归一化 – 正则化 – 离散化 – 特征编码 – 缺失值补全 分类(Classification) – K-近邻分类 – 贝叶斯分类 – 决策树分类 – 支持向量机分类 – 随机森林分类 – 集成学习Bagging/Boosting – 神经网络模型 回归(Regression) – 线性回归 – Lasso回归 – 支持向量机回归 – K-近邻回归 – 决策树回归 – 随机森林回归 – 逻辑回归 聚类(Clustering) – K-Means聚类 – 均值漂移聚类 – 基于密度的空间聚类 – 谱聚类 – 层次聚类 成分分解与降维 – 主成分分析 – 因子分析 – 截断奇异值分解 – 独立成分分析ICA(Independent Component Analysis) 模型评估与参数调优 – 估计器得分 – 交叉验证 – 评价指标 – 参数调优 – 模型持久化 (6) 深度学习神经网络基础知识 – 人工智能发展历史 – 神经元 – BP神经网络 – 梯度下降 – 激励函数 – 过拟合、欠拟合 – 优化器Optimizer – 常用开发工具 环境配置 – Windows搭建深度学习环境 – Linux搭建深度学习环境 – MacOS搭建深度学习环境 – CPU/GPU环境搭建 Theano – Theano基础知识 – 定义Layer – CNN – RNN(GRU/LSTM) – Autoencoder – 神经网络参数保存 – 神经网络性能评价 TensorFlow – TensorFlow基础知识 – Tensor – Session – Variable – Placeholder – Dropout – Tensorboard – CNN – RNN(GRU/LSTM) – Autoencoder – GNN – 神经网络参数保存 – 神经网络性能评价 Keras – Keras基础语法 – 兼容Backend – 函数模型和序列模型 – 定义Layer – CNN – RNN(GRU/LSTM) – Autoencoder – GNN – 迁移学习 – BiLSTM-Attention – 生成对抗网络GAN – 神经网络参数保存 – 神经网络性能评价 PyTorch – PyTorch基础知识 Tensor Variable 定义Layer 可视化 CNN(TextCNN) RNN(GRU/LSTM) Autoencoder GNN/GCN 迁移学习 生成对抗网络GAN 神经网络参数保存 神经网络性能评价 强化学习 – 强化学习概念 – Q-Learning – Sarsa – DQN(Deep Q Network) – Policy Gradients – Actor Critic (7) 计算机视觉数字图像处理基础 – 数字图像处理 – 图像三要素 – 像素及图像处理分类 – 图像信号数字换处理 OpenCV基础 – 安装配置 – OpenCV基础语法 – 几何图形绘制 图像处理入门 – 读取显示图像 – 读取修改像素 – 创建复制保存图像 – 获取图像属性及通道 图像算数与逻辑运算 – 图像加法运算 – 图像减法运算 – 图像与运算 – 图像或运算 – 图像异或运算 – 图像非运算 图像几何变换 – 平移变换 – 缩放变换 – 旋转变换 – 镜像变换 – 仿射变换 – 透视变换 图像量化与采样 – 图像量化处理 – 图像采样处理 – 图像金字塔 – 局部马赛克处理 直方图统计 – 直方图概述 – 直方图绘制 – 掩膜直方图 – H-S直方图 – 直方图对比 图像增强 – 图像增强 – 直方图均衡化 – 局部直方图均衡化 – 自动色彩均衡化 – 图像去雾 图像平滑 – 图像平滑概述 – 均值滤波 – 方框滤波 – 高斯滤波 – 中值滤波 – 双边滤波 图像锐化及边缘检测 – 一阶微分算法、二阶微分算子 – Roberts算子 – Prewitt算子 – Sobel算子 – Laplacian算子 – Scharr算子 – Canny算子 – LOG算子 图像形态学处理 – 图像腐蚀 – 图像膨胀 – 图像开运算 – 图像闭运算 – 图像梯度运算 – 图像顶帽运算 – 图像底帽运算 图像分割 – 基于阈值的图像分割 – 基于边缘检测的图像分割 – 基于纹理背景的图像分割 – 基于K-Means聚类的区域分割 – 基于均值漂移算法的图像分割 – 基于分水岭算法的图像分割 – 图像漫水填充分割 – 文字区域分割及定位 傅里叶变换 – 傅里叶变换 – 傅里叶逆变换 – 高通滤波器 – 低通滤波器 霍夫变换 – 霍夫变换 – 霍夫线变换 – 霍夫圆变换 图像特效处理 – 图像毛玻璃特效 – 图像浮雕特效 – 图像素描特效 – 图像怀旧特效 – 图像流年特效 – 图像滤镜特效 – 图像水波特效 – 图像卡通特效 图像分类 – 图像分类概述 – 基于机器学习的图像分类 – 基于深度学习的图像分类 – LeNet – VGG – AlexNet – ResNet 人脸识别 目标检测 – 目标检测概述 – RCNN – Fast-RCNN – SPPNet – Mask-RCNN – SSD – YOLO系列算法 (8) 自然语言处理自然语言处理概览 – 自然语言处理的基本概念 – 自然语言处理的面临困难 – 自然语言处理的研究现状 预备知识 – 概率论基础知识 – 最大似然估计 – 隐马尔可夫模型 – 贝叶斯网络 – 条件概率分布 – 信息论基础知识 – 熵 – 困惑度 – 互信息 – 神经网络基础知识 – CRF – BiLSTM+Attention – 迁移学习 – 常用语料库和知识库 jieba – jieba概述 – jieba分词 – jieba添加自定义词典 – jieba词性标注 – jieba关键词抽取 nltk – nltk概述 – nltk字符串处理 – nltk词性标注 – nltk词干提取 – nltk命名实体识别 – nltk分块处理 – nltk文本分类 – nltk情感分析 Genism – TF-IDF – similarities – LSA – LDA – Word2vec 词法分析 – 分词(英文分词/中文分词) – 词干提取 – 词形还原 – 词性标注 – 命名实体识别 句法分析 – 短语结构分析 – 依存句法分析 – 命名实体消歧 语义分析 – 指代消解 – 语义角色标注 – 语义关系抽取 – 语义依存分析 – 抽象语义表示 词嵌入 – Word2Vec – GloVe – fastText – ELMo – BERT – XLNet 文本挖掘 – 文本相似度计算 – 文本聚类 – 文本分类 – 文本摘要 情感分析 – 基于情感词典的情感分析 – 基于深度学习的情感分析 主题模型 – LSA – LDA 机器翻译 – IBM统计翻译模型 – 短语抽取 – 语言模型 – GNMT – Seq2Seq – Transformer 语言模型 – -- n-gram – Pitman-Yor过程模型 – AWD-LSTM – Transformer-XL – Gated CNN 智能问答 – 基于知识的问答 – 基于检索的问答 – 阅读理解 – 完形填空 智能对话 – 对话行为分类 – 对话状态跟踪 – 检索式聊天机器人 – 生成式聊天机器人 – 意图识别 – 槽填充(Slot Filling) 语音识别 – 傅里叶变换 – 声学模型 – 隐马尔可夫模型 – CNN – LSTM-HMM – 神经网络语言模型 – MFCC 知识图谱 – 知识图谱构建 – 知识计算 – 知识存储 – 知识服务与应用 原文:http://lovexiaoluo.com |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |