若是是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
當基礎語法搞定、方向選定,真正的自學之路纔剛剛開始。建議學習的時候,買本書參考或者利用網上一些系統的教程。
自學時候的一些建議:
一張圖代表咱們的學習過程。無知要比博學更容易產生自信。