首頁>Club>
6
回覆列表
  • 1 # 程式猿陌小江

    最早接觸python的時候,他並沒有現在這麼火,我也沒把他太當回事,那時候我對python的印象就是給運維人員使用的一門很古老的語言,顯然隨著tensorflow(以下簡稱tf)的興起,python開始頻繁的進入我們視野,不知不覺他就火成了今天這個樣子。

    當然學習一門語言,也是單純的跟風,是因為像tf這樣優秀的專案,雖然支援的主流語言比較多,比如go、java、javascript(前幾天剛公佈),但現在能找到的,大部分tf的樣例,依然是python寫的,所以,python的優勢不言而喻。

    還有對我特別有吸引的力的opencv(一款非常優秀的跨平臺開源視覺庫),也和tf的情況類似,這讓我意識到,必須要系統的、深入的學習一下python了,如果你和我一樣也是喜歡折騰的程式設計師,我想這種情況你也一定遇到過。這就是我學習python的初衷,也是這篇文章誕生的原因。

    自我介紹一下先,我是08年用了一年半的時間主學了java和C#語言,之後4-5年的工作一直從事的是C#方面的開發,直到前幾年,因為工作的原因,先後學習並使用了nodejs、golang、以及手機混合開發。其中手機混口開發包括:dcloud、deviceone、xamarin、reactnative等,nodejs的框架有:express、thinkjs、pomelo等,所以對於如何學習一門新語言,對我來說是手到擒來,輕而易舉的事(自信如我)。

    學習思路

    學習所有語言的套路基本都是一樣的,主要來自以下幾點:

    配置開發環境

    瞭解語法特點

    資料型別、資料轉換

    if判斷、迴圈使用

    函式、類使用

    異常處理

    IO操作

    垃圾回收機制

    多執行緒開發

    心裡有了學習的方向之後,只需要深入淺出的檢視對於的資料,把以上的問題以此消除,基本上也就掌握了這門語言的基礎了。

    如果要深入理解這門語言的精髓和加深理解這個python就要了解一下問題了:

    python語言誕生的原因和解決的問題

    python的優缺點

    python設計的原理

    python的語法特點

    自學目錄

    開發環境搭建

    基礎

    變數

    資料型別

    條件判斷和迴圈

    函式和類

    模組

    檔案操作

    異常處理

    垃圾回收gc

    多執行緒

    時間模組

    http模組

    以上的目錄為本人學習的指導思路!

  • 2 # 還算牛逼吧

    學習任何知識都講究由淺入深。

    python是一種程式語言,針對學習程式語言的正確姿勢,及python自身的特點,根據答主10餘年的軟體程式設計開發經驗,這裡詳細說一下正確學習python的個人建議,如下學習路徑建議逐步學習,循序漸進。

    語言基礎:

    1、瞭解python語言的特點、發展歷史和版本,及環境安裝

    2、學習python基礎語法,包括書寫規則、基本資料型別、變數定義、函式操作

    資料結構及控制流程:

    1、序列、字串、元組、列表,對於此部分學習其定義及常用操作

    2、條件和迴圈: 條件語句、for迴圈、while迴圈、if巢狀

    3、對映及字典:字典、列表推導式、字典推導式

    高階語法:

    1、檔案操作、輸入和輸出

    2、錯誤、異常的檢測和處理

    3、函式:定義、引數、作用域、迭代器和生成器、Lambda表示式、內建函式、閉包、裝飾器

    4、模組定義及用法

    5、語法規範

    程式設計晉級:

    1、標準庫使用和定義,如正則表示式、日期和時間庫、數學相關庫、檔案操作庫等

    2、多執行緒程式設計,併發程式設計基礎,可實現簡單的生產者和消費者問題

    3、機器學習庫,主要是Numpy、pandas、Series、Dataframe、Matplotlib等

    專案實踐: 實現一個網路爬蟲系統

    python應用範圍很廣,目前在如下領域應用範圍最廣: linux運維自動化、資料分析、大資料處理、機器學習等,可以根據自己的興趣愛好及發展方向,學習相關領域知識,這裡不再額外闡述。

    每一部分的學習,可以透過書籍,可選擇銷量最高的python基礎學習書籍即可。網上也有很多影片,比如可以透過騰訊課堂搜尋python關鍵字,很多免費影片學習起來比較輕鬆。

    所有的程式設計學習最終目的都是應用,最最重要也是需要特別提醒的一點是,學習過程中,務必多實踐、多動手!

    祝你可以有效並快樂的學習python,加油^0^~

  • 3 # 菜菜菜鳥

    一、選擇好python學習方向

    我要學習python的目的不是為了解這門語言,而是為了要學會運用這門語言來解決問題。

    但python的應用方向,實在太廣了。在python基礎知識學完之後,如果應用方向不同,要學習的東西也會大不同。

    我不能說我要做web開發,學完python基礎知識,跑去學numpy,pandas等知識,也不能說我要用python做資料分析,學完python基礎知識,然後就跑去學django,flask框架。這個道理,就跟我們想要去泰國旅行,肯定不會買去日本的機票一樣,很簡單,但是我們不得不承認,還是會有人犯迷糊,上來就開幹。

    二、Python就業方向?

    1)網站後端程式設計師:使用它單間網站,後臺服務比較容易維護。如:Gmail、Youtube、知乎、豆瓣

    2)自動化運維:自動化處理大量的運維任務

    3)資料分析師:快速開發快速驗證,分析資料得到結果

    4)遊戲開發者:一般是作為遊戲指令碼內嵌在遊戲中

    5)自動化測試:編寫為簡單的實現指令碼,運用在Selenium/lr中,實現自動化。

    6)網站開發:藉助django,flask框架自己搭建網站。

    7)爬蟲獲取或處理大量資訊:批次下載美劇、執行投資策略、爬合適房源、系統管理員的指令碼任務等。

    8)人工智慧:Python由於簡便、庫多、可讀性強、可植入等優點,被作為人工智慧的主要開發語言,所以學Python是進入人工智慧行業的不二利器。

    三、規劃好python學習路徑

    當我確定好方向後,下一步驟就是順著這個方向,建立好我自己的學習路徑地圖。

    這個路徑是1個系統性的邏輯主線,這個主線會讓我知道每個部分需要完成的目標是什麼,需要學習哪些知識點,哪些知識是暫時不必要的。然後每學習一個部分,我就能夠有一些實際的成果輸出,利用成果產出來形成正向刺激,激勵後續的學習

    當我確定好學習python的資料分析知識,就按照資料分析的流程“資料獲取→資料處理→資料分析→資料視覺化”這個路徑,給自己建立了學習地圖:

    1、python基礎知識

    2、爬蟲基本知識+sql

    3、numpy

    4、pandas

    5、matplotlib

    6、sklearn

    7、統計學與機率論

    四、對python基本概念建立認知

    python是我學習的第一門程式語言,我在開始學習python的時候,是一個連什麼是字串都不知道小白。所以對我來說,最重要的開始是,首先對這一領域的基本概念建立認知!

    事實上,對一門領域完全零基礎的人,想要開始學習它的話,真正重要的工作是先對這門領域的基本概念建立認知。

    比如我在到教程中有句話是“為變數賦值”,那我至少得知道,什麼是變數?賦值是什麼意思?

    所以網上一些教程典型的通病就是,教學者用一個我們不懂的概念去解釋另一個我們不懂的概念,然後我們還是不懂。因為教學者提前預設了作為0基礎的我們的立場:已經有其他程式語言基礎,只是沒有接觸python。

    但其實,對真正如我一樣的0基礎的小白來說,大多時候,python是我們學習的第一門程式語言。所以這個時候,對我們來說,學習python,不僅是學習這門語言本身,還是在藉著這門語言,幫我們建立對程式設計世界的一些基本概念的認知。

    當我入了門之後,就是順著在第二步建立的學習路徑,一路升級打怪,畢竟,我的征途是星辰大海!

    五、python學習中需要注意的問題

    1、一開始絕不陷入底層原理和細枝末節的糾纏

    這個坑,是把我坑的最深的坑。

    舉個例子,我學到函式的時候,我在開始的時候只需要,學會怎麼定義函式,怎麼呼叫函式這些基礎知識,完全不需要一開始就深入到,研究函式引數的傳遞規則,到底是值傳遞,還是引用傳遞。

    不是說這底層知識不重要,至少在入門的時候,我們不用一上來就深入這個層面。因為知識的學習,是一個線性的,從潛入深的順序。如果一開始,就眉毛鬍子一把抓,不分主次,可能我們很快就會體會到“從入門到放棄”是一種什麼樣的感覺。

    而且我們在後續的學習過程中,其本身就是在“運用中深入理解,在深入理解中最佳化應用”。相互印證理解,是一種自然而然的深入學習過程。

    2、最好是按照系統性的課程或書本來學習

    既然在這個領域是新手,先接受一個已經存在的系統,再在上面修修改改,是最適合的方案。作為新手,如果依靠自學來學習一門領域的知識,根據我的經驗,我依然認為最好的老師,仍舊是成體系的課程或書本。

    網上的文章或帖子,其實非常不適合充當我們系統性的學習一門知識的教材,因為它是非常碎片化的知識,東一榔頭西一棒子,不成體系。不要指望自己能把散落的資訊整合成系統的,那是高手要做的事情。不過這些東西,可以作為我們對某些細節的查漏補缺的參考。

    3、以能用起來,解決問題為指導原則

    在工作中,需要的更多的是一種解決問題的工程性思維,所以很多時候,我們能掉包解決問題,就沒必要自己造輪子。

    舉個例子,boss要去機場,那我只要會開車,驅車把boss送到目的地就行,而不需要我去研究怎麼怎麼造車輪,怎麼造發動機,怎麼造電瓶......

    當然,如果我們學有餘力,能深入,肯定是隻好不壞。但還是那句話,開始的時候,不眉毛鬍子一把抓。

    4、沒有什麼牛逼的事情是能夠速成的,越是底層的、收益週期越長的技能越是這樣。

    “大道甚夷,而人好徑,終為所誤”。我們總會在踩了無數的坑後,才恍然大悟:捷徑往往是最長的彎路。學習一門領域的知識,對於普通人人在短時間內從0到1入個門,倒是不難,但是從1到10,到100,進階為高手,沒有長時間的投入和刻意練習,無異於痴人說夢。

  • 中秋節和大豐收的關聯?
  • 為什麼人們說期貨持倉量重要?