Python如何自学 发展方向与路线

Python如何自学 发展方向与路线

分状况讨论

若是是985,211大佬或者搞过其余语言的(学过HTML的不算!),不须要学,一看就会。css

图片.png

彻底没接触过编程的话,那就是另一回事了。html

自学的话,目的不同难度等级也相差很大。前端

若是你只是拿这个语言干点小工做或者小脚本,自娱自乐。(难度等级:简单)python

若是要靠这个吃饭,那就彻底不同了。(难度等级:困难)程序员

具体为何,看下面就明白了。web

图片.png

若是是第一种算法

只是兴趣,自娱自乐的话,彻底不须要学的很全面,并且一些软知识,也能够一眼带过。数据库

若是是第二种编程

恭喜你,开启了新世界的大门。后端

图片.png

无论哪一种目的,语言基础全家桶【变量、数据类型、选择和循环语句、函数、类、模块】,这些语法、概念要先搞定。这些是编程最基本的概念了。并且这些东西,能够直接往其余语言上套用。套不上?等套不上再说! 这就是以前为何说搞过其余编程语言的,不须要特地花时间专门学语言的缘由。用的时候,边用边学,边学边用,过一段时间天然就掌握了。

我的自学很容易会在最开始装环境这一步出一些乱七八糟的问题。环境这一块,不推荐使用一些已经集成好的环境,仍是须要本身学会配置环境,要知道出问题怎么调整。由于去公司,通常前两天就是须要你本身配置工做环境,这种问题问同事,会有点…
图片.png

环境配置这一块(python3.x + pycharm)网上也是视频,文章一大堆。如今比较友好的是,你们不须要再纠结python是要装2.x仍是3.x版本了。2.x已经中止维护了,新项目基本就是3.x了。

基本语法这一块,若是996的话,基本上10天就差很少了。最开始不用深刻研究面向对象或者高阶的一些东西(好比装饰器,元类等),而后本身写点纯控制台的文字项目作个总结。

好比搞一个文字对战游戏(就是两我的有一些属性,而后相互伤害),或者什么猜大小这种项目作个总结。那么基本语法阶段就能够先告一段落。这里只是说基础语法,有些复杂能够后边再补,否则上来就啃难的,很容易从入门到放弃。

岔路口

而后就是岔路口。不一样的路,除了语言同样,其余知识就千差万别了。

这里能够分五条路:

自动化运维

Web

爬虫

数据分析

人工智能(数据智能化)

还有些人会把游戏方向也算进去,Unity、Unreal、Cocos、LayaAir不香吗?

图片.png

什么后端?C++和Rust不香吗?小游戏那你就随便~

自动化运维不太清楚,就不讨论了。聊聊其余几条路。

Web

先聊聊web,那么传统的HTML,CSS,JavaScript这三样不能少了吧!

JavaScript一些库和框架也要了解一些吧!jQuery,Bootstrap,Ajax。

前端框架也要了解一些吧!Vue,Angular,React。框架核心仍是JavaScript。

后端框架也要了解一些吧!Django,Flask,Tornado。

数据库也要了解一些吧!MySQL,MongoDB,Redis。

网络也要了解一些吧!Socket,TCP/IP,HTTP。

序列化也要了解一些吧!JSON,XML,ProtoBuff。

可是后边这几个(数据库,网络,序列化)是全部技术通用的。

TMD~ 搞个Web这么大一坨东西~

图片.png

爬虫

爬虫嘛,技术好很差,全看能不能强到吃牢饭的地步。每一个知识都是一个入狱小技巧。

图片.png

有些东西和上面的Web同样。除了框架不用了解其余的基本也全须要。其余的就是爬虫相关的框架或者工具库了。

爬虫主要分为三步。

  1. 把冰箱门打开
  2. 把大象塞进去
  3. 把冰箱门关上

图片.png

走错片场了。

  1. 模拟网络请求
  2. 信息解析
  3. 数据持久化

urllib,requests这两个基础的请求库,或者只学后一个也能够。

lxml/xpath,beautifulsoup/css选择器,正则这些解析工具。

selenium,appnium,airtest这些自动化测试工具,虽然这些事测试工程师的工具,可是搞爬虫的也要学一学,主要是为了反爬。

Fiddler,Charles, Wireshake这些抓包工具,用来搞一搞app。

Scrapy,Celery,Apsheduler框架也要了解一下。

UA,IP,Cookie,字体反爬,css反爬,验证码,js加密,安卓逆向这些反爬措施也要了解一下吧。

固然想进监狱更快一点,再搞点多进程多线程协程。

其实爬虫搞到最后,那都是…

数据分析

数据分析主要是业务的理解,其余的都只是辅助工具,用来加速数据处理或者可视化等。

(马云数据分析哪一个省的妹子胸最小)
图片.png

业务就不说了,每一个行业千差万别。咱们这里只讨论技术。

Excel是个好东西。

Excel表示:搞什么编程,我一个打十个。
图片.png

固然Excel很强大,但也须要其余一些知识

数字数据处理那就学一学numpy,pandas,scipy。

数据可视化能够学一学matplotlib,pyecharts,seaborn。

BI工具能够学一学PowerBI,Tableau,FineBI。

固然数据分析再多走一步就是数据挖掘,机器学习了。好比sklearn、pytorch,tensorflow。

人工智能

这个主要就玩数学和算法了,并且方向其实分的也很细。不一样的方向,知识体系也是千差万别,如今大部分人工智能都在指的是机器学习的领域。
图片.png

关于人工智能领域,你们能够先了解一些概念,对哪一个方向有兴趣,再深刻研究便可。

关于概念级别的推荐这位大佬的,讲的很通俗易懂。

http://www.javashuo.com/article/p-aslvicnf-ha.html

真正的开始

当基础语法搞定、方向选定,真正的自学之路才刚刚开始。建议学习的时候,买本书参考或者利用网上一些系统的教程。

自学时候的一些建议:

  1. 首先若是能有一些志同道合的小伙伴一块儿学习或者大佬带一带那是最好的,否则很容易放弃,不论是一我的仍是和其余人一块儿,必定要耐的住性子,毕竟编程是一个实践性很强的活动,并且还很容易出问题。
  2. 详细的学习计划,最好用一些工具,给本身安排一些计划,并严格执行,造成固定的课程表。否则拖延症一犯——今天是a = 100,一年后b = “hello world”。
  3. 自信一点,不要怀疑本身,顶尖的那些程序员是须要一些天赋,但大部分都还轮不到拼天赋的地步,就像大学拿奖学金同样。
  4. 出错不要慌,英语好的同窗,直接看报错信息,很差的小伙伴拿出大家谷歌百度翻译,先看报错说明,不行的话,把你的报错ctrl+C而后ctrl+V到谷歌百度,若是还不行能够到知乎,论坛什么的发帖求教。
  5. 有些课虽好,但没必要一开始就啃,日后放一放,否则没有什么成就感,没办法激励本身。好比数据结构,算法,计算机组成原理,计算机操做系统,计算机网络,数据库系统……
  6. 多练习多表达,能够用博客的方式记录本身的学习过程或者学习心得,甚至本身的代码也能够保存一份,过一段时间再回来看看,别有一番风味。
  7. 学编程不少时候须要“不求甚解”,对于某些抽象的概念若是怎么想都想不明白,能够先放一放,先比着葫芦画瓢搞明白怎么作就能够了,具体为何随着学习的深刻天然就明白了。这就像你学说话,若是每说一句话前都要分析一下主谓宾定状补,那估计到死一句话也说不囫囵。
  8. 最后一一个字,多看书,多思考,多写代码。学编程,不怕笨,也不怕懒,就怕又笨又懒。

一张图代表咱们的学习过程。无知要比博学更容易产生自信。

图片.png

相关文章
相关标签/搜索