若是是985,211大佬或者搞过其余语言的(学过HTML的不算!),不须要学,一看就会。css
彻底没接触过编程的话,那就是另一回事了。html
自学的话,目的不同难度等级也相差很大。前端
若是你只是拿这个语言干点小工做或者小脚本,自娱自乐。(难度等级:简单)python
若是要靠这个吃饭,那就彻底不同了。(难度等级:困难)程序员
具体为何,看下面就明白了。web
若是是第一种算法
只是兴趣,自娱自乐的话,彻底不须要学的很全面,并且一些软知识,也能够一眼带过。数据库
若是是第二种编程
恭喜你,开启了新世界的大门。后端
无论哪一种目的,语言基础全家桶【变量、数据类型、选择和循环语句、函数、类、模块】,这些语法、概念要先搞定。这些是编程最基本的概念了。并且这些东西,能够直接往其余语言上套用。套不上?等套不上再说! 这就是以前为何说搞过其余编程语言的,不须要特地花时间专门学语言的缘由。用的时候,边用边学,边学边用,过一段时间天然就掌握了。
我的自学很容易会在最开始装环境这一步出一些乱七八糟的问题。环境这一块,不推荐使用一些已经集成好的环境,仍是须要本身学会配置环境,要知道出问题怎么调整。由于去公司,通常前两天就是须要你本身配置工做环境,这种问题问同事,会有点…
环境配置这一块(python3.x + pycharm)网上也是视频,文章一大堆。如今比较友好的是,你们不须要再纠结python是要装2.x仍是3.x版本了。2.x已经中止维护了,新项目基本就是3.x了。
基本语法这一块,若是996的话,基本上10天就差很少了。最开始不用深刻研究面向对象或者高阶的一些东西(好比装饰器,元类等),而后本身写点纯控制台的文字项目作个总结。
好比搞一个文字对战游戏(就是两我的有一些属性,而后相互伤害),或者什么猜大小这种项目作个总结。那么基本语法阶段就能够先告一段落。这里只是说基础语法,有些复杂能够后边再补,否则上来就啃难的,很容易从入门到放弃。
而后就是岔路口。不一样的路,除了语言同样,其余知识就千差万别了。
这里能够分五条路:
自动化运维
Web
爬虫
数据分析
人工智能(数据智能化)
还有些人会把游戏方向也算进去,Unity、Unreal、Cocos、LayaAir不香吗?
什么后端?C++和Rust不香吗?小游戏那你就随便~
自动化运维不太清楚,就不讨论了。聊聊其余几条路。
先聊聊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这么大一坨东西~
爬虫嘛,技术好很差,全看能不能强到吃牢饭的地步。每一个知识都是一个入狱小技巧。
有些东西和上面的Web同样。除了框架不用了解其余的基本也全须要。其余的就是爬虫相关的框架或者工具库了。
爬虫主要分为三步。
走错片场了。
urllib,requests这两个基础的请求库,或者只学后一个也能够。
lxml/xpath,beautifulsoup/css选择器,正则这些解析工具。
selenium,appnium,airtest这些自动化测试工具,虽然这些事测试工程师的工具,可是搞爬虫的也要学一学,主要是为了反爬。
Fiddler,Charles, Wireshake这些抓包工具,用来搞一搞app。
Scrapy,Celery,Apsheduler框架也要了解一下。
UA,IP,Cookie,字体反爬,css反爬,验证码,js加密,安卓逆向这些反爬措施也要了解一下吧。
固然想进监狱更快一点,再搞点多进程多线程协程。
其实爬虫搞到最后,那都是…
数据分析主要是业务的理解,其余的都只是辅助工具,用来加速数据处理或者可视化等。
(马云数据分析哪一个省的妹子胸最小)
业务就不说了,每一个行业千差万别。咱们这里只讨论技术。
Excel是个好东西。
Excel表示:搞什么编程,我一个打十个。
固然Excel很强大,但也须要其余一些知识
数字数据处理那就学一学numpy,pandas,scipy。
数据可视化能够学一学matplotlib,pyecharts,seaborn。
BI工具能够学一学PowerBI,Tableau,FineBI。
固然数据分析再多走一步就是数据挖掘,机器学习了。好比sklearn、pytorch,tensorflow。
这个主要就玩数学和算法了,并且方向其实分的也很细。不一样的方向,知识体系也是千差万别,如今大部分人工智能都在指的是机器学习的领域。
关于人工智能领域,你们能够先了解一些概念,对哪一个方向有兴趣,再深刻研究便可。
关于概念级别的推荐这位大佬的,讲的很通俗易懂。
http://www.javashuo.com/article/p-aslvicnf-ha.html
当基础语法搞定、方向选定,真正的自学之路才刚刚开始。建议学习的时候,买本书参考或者利用网上一些系统的教程。
自学时候的一些建议:
一张图代表咱们的学习过程。无知要比博学更容易产生自信。