python最佳入门教程(1): python的安装

Python037

python最佳入门教程(1): python的安装,第1张

本教程基于python3.x, 是针对初学者的一系列python入门教程,在知乎上常有人问我计算机该怎么学,如何自学编程,笔者也是通过自学编程而进入IT这一行业的,回顾入行的这几年,从音视频流媒体辗转到人工智能深度学习,机器视觉,我是下了不少苦心的,对于如何学习有自己的一套理论和实践方法,很多人自言学编程不得其门,把学不会归咎于天分,其实芸芸众生,智力无别,你现在所看到的是技术大牛们一个个超凡绝顶(然知此绝顶非彼绝顶),看不到的是曾经的他们,也在每个昼夜里用心苦学。再者学一门技术,需要勤学刻苦,是需要讲究方法和基础的,方法对了就事半功倍,所谓的天才也无不是建立在扎实的基础之上。

在windows中安装python

首先打开python官网https://www.python.org/,点击页面downloads导航按钮,下载windows最新的基于web安装的安装器,右键以管理员身份运行 安装包,会出现如下界面:

将Add Python 3.7 to PATH 进行勾选,勾选此项的目的在于将python解释器加入系统环境变量,则在后续的python开发中可直接在windows 命令行中执行python脚本。所谓的环境变量是系统运行环境的一系列参数,比如这里的系统环境变量是PATH,PATH保存了与路径相关的参数,系统在路径查找中,会对PATH保存的路径进行搜索。

点击install Now按钮执行python的安装

打开windows命令行界面(按windows键输入cmd命令),输入python -V,出现python版本的相关输出,即表示安装成功。

在Linux系统中安装python

笔者的系统是CentOS, Linux系统默认有安装python,但是其版本是2.x,在这里笔者以源码安装的形式来安装python 3.X。首先进入python源码包页面 点击下载最新的gzip格式的python源码包,上传到服务器然后进行解压,解压后的目录结构如下图所示:

Linux中的configure与make

configure是Linux中的脚本配置工具,用来对源码的当前安装环境进行检测,若检测无误,会在当前目录生成一个供源码编译的Makefile脚本文件。

make是Linux系统下的编译安装工具,用来解释执行makefile文件中的脚本命令,编译命令。

现在我们开始编译安装python

(1) 在当前目录执行./configure(2) 输入 make &&sudo make install

若无指定安装目录,python会被默认安装在/usr/local目录中, 读者可以执行./configure --prefix=“你自定义的安装目录”来配置安装路径。安装完毕以后进入/usr/local/bin目录,输入 “python3.x -V” (这里的python3.x为你所安装的python版本),若出现与python版本的相关输出,即表示安装成功。

为安装的python设置软链接

安装的python可以以绝对路径的方式来执行,每次敲一大段路径来执行python未免麻烦,通常我们会给安装的python设置软链接,这里的软链接类似于windows的快捷方式。

输入以下命令来给python设置软链接,笔者安装的版本是python3.7, pip是python的包管理工具,会在教程的后续章节中进行详细讲解。

ln -s /usr/bin/python3 /usr/local/bin/python3.7 # 表示设置python3 为 /usr/local/bin/python3.7的快捷方式ln -s /usr/bin/pip3 /usr/local/bin/pip3.7 # 表示设置pip3 为 /usr/local/bin/pip3.7的快捷方式

分享Python学习路线: 第一阶段:Python基础与Linux数据

这是Python的入门阶段,也是帮助零基础学员打好基础的重要阶段。你需要掌握Python基本语法规则及变量、逻辑控制、内置数据结构、文件操作、高级函数、模块、常用标准库模板、函数、异常处理、mysql使用、协程等知识点。

学习目标:掌握Python的基本语法,具备基础的编程能力;掌握Linux基本操作命令,掌握MySQL进阶内容,完成银行自动提款机系统实战、英汉词典、歌词解析器等项目。

第二阶段:web全栈

这一部分主要学习web前端相关技术,你需要掌握html、cssJavaScript、JQuery、Bootstrap、web开发基础、Vue、FIask Views、FIask模板、数据库操作、FIask配置等知识。

学习目标:掌握web前端技术内容,掌握web后端框架,熟练使用FIask、Tornado、Django,可以完成数据监控后台的项目。

第三阶段:数据分析+人工智能

这部分主要是学习爬虫相关的知识点,你需要掌握数据抓取、数据提取、数据存储、爬虫并发、动态网页抓取、scrapy框架、分布式爬虫、爬虫攻防、数据结构、算法等知识。

学习目标:可以掌握爬虫、数据采集,数据机构与算法进阶和人工智能技术。可以完成爬虫攻防、图片马赛克、电影推荐系统、地震预测、人工智能项目等阶段项目。

第四阶段:高级进阶

这是Python高级知识点,你需要学习项目开发流程、部署、高并发、性能调优、Go语言基础、区块链入门等内容。

学习目标:可以掌握自动化运维与区块链开发技术,可以完成自动化运维项目、区块链等项目。

按照上面的Python学习路线图学习完后,你基本上就可以成为一名合格的Python开发工程师。当然,想要快速成为企业竞聘的精英人才,你需要有好的老师指导,还要有较多的项目积累实战经验。

对于Python开发有兴趣的小伙伴们,不妨先从看看Python开发教程开始入门!B站搜索尚学堂官方号,Python教学视频,从基础到高级的都有,还挺不错的,知识点讲得很细致,还有完整版的学习路线图。也可以自己去看看,下载学习试试。

这里整理了一份Python开发的学习路线,可按照这份大纲来安排学习计划~

第一阶段:专业核心基础

阶段目标:

1. 熟练掌握Python的开发环境与编程核心知识

2. 熟练运用Python面向对象知识进行程序开发

3. 对Python的核心库和组件有深入理解

4. 熟练应用SQL语句进行数据库常用操作

5. 熟练运用Linux操作系统命令及环境配置

6. 熟练使用MySQL,掌握数据库高级操作

7. 能综合运用所学知识完成项目

知识点:

Python编程基础、Python面向对象、Python高级进阶、MySQL数据库、Linux操作系统。

1、Python编程基础,语法规则,函数与参数,数据类型,模块与包,文件IO,培养扎实的Python编程基本功,同时对Python核心对象和库的编程有熟练的运用。

2、Python面向对象,核心对象,异常处理,多线程,网络编程,深入理解面向对象编程,异常处理机制,多线程原理,网络协议知识,并熟练运用于项目中。

3、类的原理,MetaClass,下划线的特殊方法,递归,魔术方法,反射,迭代器,装饰器,UnitTest,Mock。深入理解面向对象底层原理,掌握Python开发高级进阶技术,理解单元测试技术。

4、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,约束,视图,存储过程,函数,触发器,事务,游标,PDBC,深入理解数据库管理系统通用知识及MySQL数据库的使用与管理。为Python后台开发打下坚实基础。

5、Linux安装配置,文件目录操作,VI命令,管理,用户与权限,环境配置,Docker,Shell编程Linux作为一个主流的服务器操作系统,是每一个开发工程师必须掌握的重点技术,并且能够熟练运用。

第二阶段:PythonWEB开发

阶段目标:

1. 熟练掌握Web前端开发技术,HTML,CSS,JavaScript及前端框架

2. 深入理解Web系统中的前后端交互过程与通信协议

3. 熟练运用Web前端和Django和Flask等主流框架完成Web系统开发

4. 深入理解网络协议,分布式,PDBC,AJAX,JSON等知识

5. 能够运用所学知识开发一个MiniWeb框架,掌握框架实现原理

6. 使用Web开发框架实现贯穿项目

知识点:

Web前端编程、Web前端高级、Django开发框架、Flask开发框架、Web开发项目实战。

1、Web页面元素,布局,CSS样式,盒模型,JavaScript,JQuery与Bootstrap掌握前端开发技术,掌握JQuery与BootStrap前端开发框架,完成页面布局与美化。

2、前端开发框架Vue,JSON数据,网络通信协议,Web服务器与前端交互熟练使用Vue框架,深入理解HTTP网络协议,熟练使用Swagger,AJAX技术实现前后端交互。

3、自定义Web开发框架,Django框架的基本使用,Model属性及后端配置,Cookie与Session,模板Templates,ORM数据模型,Redis二级缓存,RESTful,MVC模型掌握Django框架常用API,整合前端技术,开发完整的WEB系统和框架。

4、Flask安装配置,App对象的初始化和配置,视图函数的路由,Request对象,Abort函数,自定义错误,视图函数的返回值,Flask上下文和请求钩子,模板,数据库扩展包Flask-Sqlalchemy,数据库迁移扩展包Flask-Migrate,邮件扩展包Flask-Mail。掌握Flask框架的常用API,与Django框架的异同,并能独立开发完整的WEB系统开发。

第三阶段:爬虫与数据分析

阶段目标:

1. 熟练掌握爬虫运行原理及常见网络抓包工具使用,能够对HTTP及HTTPS协议进行抓包分析

2. 熟练掌握各种常见的网页结构解析库对抓取结果进行解析和提取

3. 熟练掌握各种常见反爬机制及应对策略,能够针对常见的反爬措施进行处理

4. 熟练使用商业爬虫框架Scrapy编写大型网络爬虫进行分布式内容爬取

5. 熟练掌握数据分析相关概念及工作流程

6. 熟练掌握主流数据分析工具Numpy、Pandas和Matplotlib的使用

7. 熟练掌握数据清洗、整理、格式转换、数据分析报告编写

8. 能够综合利用爬虫爬取豆瓣网电影评论数据并完成数据分析全流程项目实战

知识点:

网络爬虫开发、数据分析之Numpy、数据分析之Pandas。

1、爬虫页面爬取原理、爬取流程、页面解析工具LXML,Beautifulfoup,正则表达式,代理池编写和架构、常见反爬措施及解决方案、爬虫框架结构、商业爬虫框架Scrapy,基于对爬虫爬取原理、网站数据爬取流程及网络协议的分析和了解,掌握网页解析工具的使用,能够灵活应对大部分网站的反爬策略,具备独立完成爬虫框架的编写能力和熟练应用大型商业爬虫框架编写分布式爬虫的能力。

2、Numpy中的ndarray数据结构特点、numpy所支持的数据类型、自带的数组创建方法、算术运算符、矩阵积、自增和自减、通用函数和聚合函数、切片索引、ndarray的向量化和广播机制,熟悉数据分析三大利器之一Numpy的常见使用,熟悉ndarray数据结构的特点和常见操作,掌握针对不同维度的ndarray数组的分片、索引、矩阵运算等操作。

3、Pandas里面的三大数据结构,包括Dataframe、Series和Index对象的基本概念和使用,索引对象的更换及删除索引、算术和数据对齐方法,数据清洗和数据规整、结构转换,熟悉数据分析三大利器之一Pandas的常见使用,熟悉Pandas中三大数据对象的使用方法,能够使用Pandas完成数据分析中最重要的数据清洗、格式转换和数据规整工作、Pandas对文件的读取和操作方法。

4、matplotlib三层结构体系、各种常见图表类型折线图、柱状图、堆积柱状图、饼图的绘制、图例、文本、标线的添加、可视化文件的保存,熟悉数据分析三大利器之一Matplotlib的常见使用,熟悉Matplotlib的三层结构,能够熟练使用Matplotlib绘制各种常见的数据分析图表。能够综合利用课程中所讲的各种数据分析和可视化工具完成股票市场数据分析和预测、共享单车用户群里数据分析、全球幸福指数数据分析等项目的全程实战。

第四阶段:机器学习与人工智能

阶段目标:

1. 理解机器学习相关的基本概念及系统处理流程

2. 能够熟练应用各种常见的机器学习模型解决监督学习和非监督学习训练和测试问题,解决回归、分类问题

3. 熟练掌握常见的分类算法和回归算法模型,如KNN、决策树、随机森林、K-Means等

4. 掌握卷积神经网络对图像识别、自然语言识别问题的处理方式,熟悉深度学习框架TF里面的张量、会话、梯度优化模型等

5. 掌握深度学习卷积神经网络运行机制,能够自定义卷积层、池化层、FC层完成图像识别、手写字体识别、验证码识别等常规深度学习实战项目

知识点:

1、机器学习常见算法、sklearn数据集的使用、字典特征抽取、文本特征抽取、归一化、标准化、数据主成分分析PCA、KNN算法、决策树模型、随机森林、线性回归及逻辑回归模型和算法。熟悉机器学习相关基础概念,熟练掌握机器学习基本工作流程,熟悉特征工程、能够使用各种常见机器学习算法模型解决分类、回归、聚类等问题。

2、Tensorflow相关的基本概念,TF数据流图、会话、张量、tensorboard可视化、张量修改、TF文件读取、tensorflow playround使用、神经网络结构、卷积计算、激活函数计算、池化层设计,掌握机器学习和深度学习之前的区别和练习,熟练掌握深度学习基本工作流程,熟练掌握神经网络的结构层次及特点,掌握张量、图结构、OP对象等的使用,熟悉输入层、卷积层、池化层和全连接层的设计,完成验证码识别、图像识别、手写输入识别等常见深度学习项目全程实战。