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

相關文章
相關標籤/搜索