Python如何自学以及发展方向

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

分情况讨论

如果是985,211大佬或者搞过其他语言的(学过HTML的不算!),不需要学,一看就会。

Python如何自学以及发展方向

完全没接触过编程的话,那就是另外一回事了。

自学的话,目的不一样难度等级也相差很大。

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

如果要靠这个吃饭,那就完全不一样了。(难度等级:困难)

具体为什么,看下面就明白了。

Python如何自学以及发展方向

如果是第一种
只是兴趣,自娱自乐的话,完全不需要学的很全面,而且一些软知识,也可以一眼带过。
如果是第二种
恭喜你,开启了新世界的大门。

Python如何自学以及发展方向

不管哪种目的,语言基础全家桶【变量、数据类型、选择和循环语句、函数、类、模块】,这些语法、概念要先搞定。这些是编程最基本的概念了。而且这些东西,可以直接往其他语言上套用。套不上?等套不上再说! 这就是之前为什么说搞过其他编程语言的,不需要特意花时间专门学语言的原因。用的时候,边用边学,边学边用,过一段时间自然就掌握了。

Python如何自学以及发展方向

这一块的教程网上满天飞。菜鸟教程就还行,不是广告,不是广告,不是广告!!!。

https://www.runoob.com/python3/python3-tutorial.html

个人自学很容易会在最开始装环境这一步出一些乱七八糟的问题。环境这一块,不推荐使用一些已经集成好的环境,还是需要自己学会配置环境,要知道出问题怎么调整。因为去公司,一般前两天就是需要你自己配置工作环境,这种问题问同事…

Python如何自学以及发展方向

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

当然如果想要了解一些python的历史,特点什么的可以参考B站里的一些视频。比如:https://www.bilibili.com/video/BV19J41167Bc

Python如何自学以及发展方向

基本语法这一块,如果996的话,基本上10天就差不多了。最开始不用深入研究面向对象或者高阶的一些东西(比如装饰器,元类等),然后自己写点纯控制台的文字项目做个总结。

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

岔路口

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

这里可以分五条路:

自动化运维

Web

爬虫

数据分析

人工智能(数据智能化)

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

Python如何自学以及发展方向

什么游戏后端?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。

但是后边这几个(数据库,网络,序列化)是所有技术通用的。

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

Python如何自学以及发展方向屎你是一坨屎

爬虫

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

Python如何自学以及发展方向

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

爬虫主要分为三步。

  1. 把冰箱门打开

  2. 把大象塞进去

  3. 把冰箱门关上

Python如何自学以及发展方向

走错片场了。

  1. 模拟网络请求

  2. 信息解析

  3. 数据持久化

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

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

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

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

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

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

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

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

数据分析

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

(马云数据分析哪个省的妹子胸最小)

Python如何自学以及发展方向

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

Excel是个好东西。

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

Python如何自学以及发展方向

当然Excel很强大,但也需要其他一些知识

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

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

BI工具可以学一学PowerBI,Tableau,FineBI。

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

人工智能

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

Python如何自学以及发展方向

关于人工智能领域,大家可以先了解一些概念,对哪个方向有兴趣,再深入研究即可。

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

https://www.cnblogs.com/subconscious/p/4107357.html

真正的开始

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

比如书的推荐(真没有打广告啊~~~~):

Python如何自学以及发展方向

Python如何自学以及发展方向

详细目录和试读可以参考当当网

http://product.dangdang.com/24003310.html

网络教程推荐:(8w start +)

Python如何自学以及发展方向

[https://github.com/jackfrued/Python-100-Days![]
(https://github.com/jackfrued/Python-100-Days)

Day01~15 - Python语言基础

Day16~Day20 - Python语言进阶

Day21~30 - Web前端入门

Day31~35 - 玩转Linux操作系统

Day36~40 - 数据库基础和进阶

Day41~55 - 实战Django

Day56~60 - 实战Flask

Day66~75 - 爬虫开发

Day76~90 - 数据分析和机器学习

Day91~100 - 团队项目开发

自学时候的一些建议:

  1. 首先如果能有一些志同道合的小伙伴一起学习或者大佬带一带那是最好的,不然很容易放弃,不管是一个人还是和其他人一起,一定要耐的住性子,毕竟编程是一个实践性很强的活动,而且还很容易出问题。

  2. 详细的学习计划,最好用一些工具,给自己安排一些计划,并严格执行,形成固定的课程表。不然拖延症一犯——今天是a = 100,一年后b = “hello world”。

  3. 自信一点,不要怀疑自己,顶尖的那些程序员是需要一些天赋,但大部分都还轮不到拼天赋的地步,就像大学拿奖学金一样。

  4. 出错不要慌,英语好的同学,直接看报错信息,不好的小伙伴拿出你们gg百度翻译,先看报错说明,不行的话,把你的报错ctrl+C然后ctrl+V到gg百度,如果还不行可以到知乎,论坛什么的发帖求教。

  5. 有些课虽好,但不必一开始就啃,往后放一放,不然没有什么成就感,没办法激励自己。比如数据结构,算法,计算机组成原理,计算机操作系统,计算机网络,数据库系统……

  6. 多练习多表达,可以用博客的方式记录自己的学习过程或者学习心得,甚至自己的代码也可以保存一份,过一段时间再回来看看,别有一番风味。

  7. 学编程很多时候需要“不求甚解”,对于某些抽象的概念如果怎么想都想不明白,可以先放一放,先比着葫芦画瓢搞明白怎么做就可以了,具体为什么随着学习的深入自然就明白了。这就像你学说话,如果每说一句话前都要分析一下主谓宾定状补,那估计到死一句话也说不囫囵。

  8. 最后一一个字,多看书,多思考,多写代码。学编程,不怕笨,也不怕懒,就怕又笨又懒。

一张图表明我们的学习过程。无知要比博学更容易产生自信。
Python如何自学以及发展方向

猜你喜欢

转载自blog.51cto.com/14803260/2491037