前言
实际上,从2019年开始,就有数据显示学习Python的人越来越多,无奈2020年受疫情影响严重,导致各行各业都不太景气,不过互联网行业相对来说所波及的影响最小。
不过,在疫情好转,各行各业的人也开始规划自己的职业生涯,实际上想要转行到程序员的人越来越多,其中很多零基础小白首选的就是Python,毕竟Python的平均薪资是不错的,加上Python简单易学,所以转行学Python,自然能够得到极大的支持。
中途转行学Python,能不能成功?
很多刚开始学习Python或者有想法转行学Python的人,心中都会怀有困惑,不确定自己到底能不能成功。坦白来讲,零基础学习Python能不能成功,并不能给一个完全准确的答案,因为也要分实际情况来看。大部分中途学习Python的人都不是计算机专业出身的,对于这些零基础的人来说,如果选择的是自学,我想说成功比例微乎其微,100个人里能够有5个人学到有成就的程度就已经非常不错的。但是,若是有人带着一起学习,那么就会少走很多弯路,那成功就来得更容易一些,不至于像无头苍蝇一般四处乱撞。
所以你要问我,中途转行学Python能不能成功?没有一个绝对的定论,但是就我个人而言来说,成功是必然的,因为有计划,有方法,有人带。
学好Python的必要因素
有了想要学习Python的想法,那么如何实现呢?怎么才能够把Python给学好呢?学好Python的必要因素,我认为以下几点缺一不可:
1.自主学习能力
首先你得具备自主学习的能力,俗话说得好“扶不起的是阿斗,扶不上墙的是烂泥”,如果你自己不动,没有人能帮得了你,一件事情想要做成功,主动性是非常重要的。
2.师傅领进门
在入门前期,找一个师傅带你是非常重要的,在学习Python的前期阶段,一些有经验有技术的人带你会让自己少走很多弯路。
3.规划好学习路线,学习最新的
如何学好Python,一定要有自己的学习计划,怎么开始,怎么深入,一步一步的最好按照一个路线图进行,这样容易少走弯路,减少失误。另外也要实时关注Python的技术方面的资讯,要学就要学最新的。
4.坚定目标感,保持持之以恒的态度
做什么事情,态度是最重要的,一旦决定转行学习Python,就要坚定自己的目标感,保持持之以恒的态度,比如我就会给自己确立一个小目标,进入阿里!哈哈,开个小玩笑,不过有时间确实会逼自己一把,努力努力争取这个机会。
怎么学,才能赛过科班生?
1.确定好自己的学习路线
无论做什么事,或者学什么技能,在一开始就要有所规划,所以我们要事先确定好自己的学习路线,这是非常重要的,能够在我们学习的时候使得我们的思路更为清晰。
2.打好基础,学好框架
不可否认的是,科班生确实在一定程度上比零基础的人更具有优势,但是大学生在校期间,虽然有学相关的知识和技术,但是所学的东西都比较浅,相对来说程度还不够深,另外大学生缺乏实战经验,所以作为零基础的我们,首先的关键就是要打好基础,等基础打好了,再学好框架相关的内容,之后找一份满意的工作基本上是轻而易举了。
关于基础知识学习:
学习基础知识,就是让你对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__ 函数、访问限制等。
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、数据序列化、请求与响应、视图,转换器、关系,超链接、认证和权限。
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、图论简介、网络的操作及数据可视化。
2.找师傅,跟视频,进行系统的学习
一谈到自学,可能很多人害怕的是自己没办法坚持下来。实际上,自学的难处并不在于难以坚持,害怕的是自己所学到的东西是零散的,是不成体系的,不进行系统的学习是很难完全去掌握一门技术的,最大的弊端是影响自己的工作,面试一问就垮。最好的解决办法是:找一个靠谱的师傅,跟着视频,从零开始进行系统的学习才是最有效最正确的方法。
总结
以上内容就是我对Python零基础初学者的全部建议,希望所有人在学习这件事情上都能够正确对待,也希望所有小伙伴都能够学有所成。最后,欢迎你成为一名程序员,祝你工作顺利,实现自己的梦想!
注意:文章中所截图展示出来的Python零基础学习资料,均可以免费分享给大家,包括思维导图、学习视频、文档资料等,有需要的朋友,都可以扫一扫下方二维码进行领取!