-
1 # IT人劉俊明
-
2 # 機場的覺得你的
做為一名前文科生,有必要來答一下。高中文科生,大一英語。大二透過轉專業考試轉到了工程管理(文科性質偏管理)。四年天天自習,自學高數線代機率專業課。考上了軟體工程的研究生(考了兩次,不是好學校),成功洗白。或許我選擇的路線能對你有借鑑價值,可以參考一下
-
3 # 少鷹
我從15年開始接觸python,剛才開始學習python的人也非常的少,很多人也不看好它,認為它只能火一段時間,但是雖著人工智慧的不斷髮展強大,python發展的勢頭已經超越了java,python也就是引起了很多人的注意力,包括大學裡面都會學習python程式語言,可見這門程式語言的火爆程度。
1.如何自學?
如果你是一個零基礎又是一個文科生,可能自學起來有點難度,但是如果你的邏輯能力夠好的話那也可以學習的,最好有人指導你學習,這樣你學起來會事半功倍的,學習的時候會遇到很多的困難,你可以從網上買點python入門的影片看看,看自己接受能力如何,不行的話你可以考慮報名培訓班級進行系統的學習。
2.學習內容
你作為一個零基礎的想成為程式設計師肯定是要從最基礎的的學起,循序漸進的學習技術;下面我會用圖片來告訴你,你需要學習哪些技術,你可以對照圖上面的技術點去學習,這樣也會找到方向,不用浪費太多的時間,加油!
-
4 # 一個存在感小透明
作為BAT的Java開發工程師,恭喜你在合適的年紀找到了對的方向。因為Python可以說是現在少有的應用十分廣泛,卻又十分容易自學的程式語言了。不論你是想做資料分析與處理,還是web開發,或者去做人工智慧,甚至去航空航天領域,Python都能夠幫助你實現夢想。
資料結構與演算法鑑於題主是0基礎的文科生,那麼必須要了解程式設計領域入門級別知識,即資料結構與演算法。資料結構可以看作是建造房子時候用的磚塊,鋼筋和混凝土,而演算法就是建造房子的圖紙,是整個建築的靈魂所在,無論後面使用任何語言,都離不開這兩個基礎。
在此推薦的入門書籍,也是很多大學裡的教材,由清華大學出版的《資料結構》。很多基礎的資料結構,比如list,queue,stack,node,tree等等,都是在後續的程式設計工作中非常常用的。
接下來,介紹一本進階的資料結構和演算法結合的書籍,是由美華人編寫的《資料結構與演算法分析》,這本書除了介紹資料結構,還從數學的角度分析很多演算法的設計,如果能夠讀懂三分之二,可以說,谷歌微軟的大門都對你常開了。為什麼這麼說呢,因為北美某軟的面試官曾經說過,程式設計不會可以招進來再學,然而這思維與基礎卻不是一朝一夕就能培養出來的。
入門簡單學會了基礎資料結構與演算法之後,不妨開始學習Python基礎。與C語言和JAVA比起來,Python的入門門檻簡直不要太低,我舉一個我同事的例子,來幫助你提高信心。
我們有一個server服務在起步階段,還只是個單點,但是由於比較重要,部署在Linux虛擬機器上之後,同時需要部署監控,一旦發現服務異常立刻重啟服務。這個監控指令碼的編寫工作就交給了一個入職半年,只會php和Java的同事。他最開始也很害怕,覺得自己從來沒有接觸過Python,就要寫這麼重要的指令碼,很忐忑。結果,一個入職4年的同事稍微指點了他,基本上花了一個下午查閱資料,測試,他就完成了監控,重啟,切Nginx的全部功能。
所以,Python的簡單語法使它讀起來更像一篇有點複雜的英文,而不是晦澀的程式語言。如果你之前有了解過其他程式語言,那麼學習Python就更加容易了。
學習方法接下來簡單介紹幾個學習Python的網站,網際網路時代,不用什麼都依賴書籍了,完全可以現在網站上學習Python的基本概念,然後再投入到書籍中進行系統的補充。分別是Python菜鳥教程與廖雪峰的Python教程,為了避免廣告,我就不放網址了,大家可以用這兩個關鍵字自行去百度搜索。這兩個網站的功能是相似的,選擇一個進行學習就夠了。
在學習的過程中,一定要勤於做筆記以及反覆將知識進行對比。比如我在看廖雪峰的網站的時候,就發現Python與java等語言不同,在建立變數的時候,無須指定變數的型別是int還是str,而且像list和tuple是透過[],()這種標誌來區分的,也就是說[1,2,"a"]是一個list,而(1,2,"a")就是一個tuple了,不僅如此,在後面用到dic和set的時候,還有其他的差異。
在第一次看的時候,可能走馬觀花的就覺得自己記住了,但是如果能夠在看的時候,自己主動回憶起過去的知識並積極對比,就能幫助加深記憶,提高學習效率。
這兩個網站從Python最基本的知識,講到網路程式設計,資料庫開發,到最後的IO訪問,可以說是相當全面了。在掌握了這些知識後,就要自己去寫一個小工程來檢驗自己的學習成果了。由於Python對環境的要求並不高,自己編寫程式除錯的成本也低,因此非常建議在學習過程中,就主動尋找demo,多敲程式碼,儘早加深對所學知識的理解與掌握。
等到你能夠用Python把自己的想法付諸於程式碼之後,就可以把自己的想法釋出在論壇上,其他Python愛好者通常會給你一些有用的建議,反覆在這個過程中提高自己,你的Python能力就能不斷提高,最終達到工業級水平,這個時候,你就可以嘗試Python工程師的工作了。
回覆列表
學習程式語言需要有三方面的知識結構,分別是作業系統、演算法設計和資料庫,下面分別進行一個詳細的描述。
作業系統是開發人員一定要熟練掌握的,不管是做Web開發、移動互聯開發還是做嵌入式開發和大資料開發,作業系統都是繞不過去的基礎知識。對於程式設計師來說,掌握Linux作業系統的體系結構對程式設計會有較大的幫助,很多計算機專業的學生都是從學習Linux開始接觸程式設計的。我在讀書期間,老師就給我留下了一個任務,就是讀Linux的核心程式碼,這個過程對作業系統會有一個深入的瞭解。
演算法設計和資料結構是程式設計的基礎,對於Python程式設計師來說,掌握常見的演算法能夠極大的拓展未來的就業面。由於Python在大資料、人工智慧、科學計算領域的應用十分普遍,所以學習Python的程式設計師往往都需要對演算法有一定的瞭解。學習演算法雖然有一定的難度,但是也並不是無法掌握,對於文科生來說,學習演算法往往需要補學一下線性代數和機率論的基礎知識。
資料庫知識是程式設計師必備的基礎知識,目前大量的軟體開發任務都與資料庫有緊密的聯絡,可以從學習Mysql資料庫開始。Mysql資料庫簡單易學,容易上手,而且目前在軟體開發領域有廣泛的使用。學習Mysql可以從建庫開始,然後建表,進而學習增刪改查等一系列操作,這個過程並不複雜,對於文科生來說也很容易掌握。
學習Python最好給自己定一個方向,對於文科生來說,可以從Web開發開始學起。Web開發應用廣泛且難度適宜,從就業的角度出發,學習Web開發也是一個不錯的選擇。
如果有Python開發方面的問題,也可以諮詢我。