設定目標
當你決定入門Python時,需要一個清晰且短期內(nèi)可實現(xiàn)的目標,是通過學習找一份初級程序員工作,還是為了解決某個具體的問題,目標明確后,你需要了解實現(xiàn)它要具備那些條件,比如下面是拉勾上一份Python工程師的任職要求:
熟悉Python及常用的web開發(fā)框架;
至少熟悉一種數(shù)據(jù)庫的使用,如MySQL,mongodb,redis等;
熟悉Linux操作系統(tǒng)及常用命令;
良好的編碼習慣和文檔編寫習慣;
做Python開發(fā)除了熟悉語言本身之外,還需要掌握很多相關聯(lián)的技能,好比打NBA,你不光學如何投籃,還要練習力量,及戰(zhàn)術等一整套東西。所以,一個普通Python web開發(fā)工程師需要掌握的技能包括至少一個web框架,比如:Django、flask、tornado,做業(yè)務系統(tǒng)離不開數(shù)據(jù)庫的支撐,另外,還需要對Linux系統(tǒng)的基本操作和常用命令有所了解,因為以后你寫到程序基本上都會運行在Linux平臺上。
接下來我從這幾個方面逐一介紹:
Python3
不少新手總是糾結(jié)學Python2還是朋友天虹3,就像手里他同時有包子和饅頭,不知道先吃那個,這種糾結(jié)完全就是徒增煩惱,因為它們是同一種語言,只有少部分語法不兼容,盡管目前大部分公司還在用Python2,但是Python3逐漸成為主流已是不爭事實,畢竟后者性能方面更占優(yōu)勢,官方也在力推Python3。所以毫不猶豫選擇Python3吧,最多花一天的時間吧Python2中特有的內(nèi)容搞懂。
開發(fā)工具
工欲善其事必先利其器,做Python開發(fā)的IDE(編輯器層出不窮),我只推薦Pycharm和Sublime,兩個工具的學習成本非常低,網(wǎng)上找一篇教程看了基本就能上手,Vim、Emacs 這樣的遠古神器還是放以后再去了解吧。另外,今后你所遇到的 90% 的問題都有可能通過Google和StackOverflow來解決。
學習資源
首選的你可以關注下Python官方文檔,菜鳥教程。
網(wǎng)上入門資源琳瑯滿目,一本好書能為你指點迷津,快速了解Python可以看一下 learn Python in Y minutes這篇文章,但千萬不亞歐被標題所迷惑,一門語言不能幾分鐘就能學會,看完之后應該會對Python有個初步的印象,照著示例操作完之后,你就要選擇一本合適入門的教程,《A Byte of Python》 是一本值得推薦的書籍,來說說我推薦這本書的理由。
《A Byte of Python》的中文名叫《簡明教程》,這本書的最新版已經(jīng)是第10版,基于Python3.5,所以不擔心是否知識落后的問題,其次,這本書的厚度152頁非常適合入門,涵蓋看Python入門所有內(nèi)容,相對那些五六百頁的大部頭書來說非常精簡了,2個星期能啃完,還有最重要的一單,這本書是免費的。
這本書看完之后,你應該能設計出簡單程序出來,再推薦一本《Python學習手冊》作為進階學習,內(nèi)容相對要更深入,適合有一定編程基礎的人閱讀。
做web開發(fā),HTML,JS,CSS是必須有所了解的,作為前端技能,不一定要深入了解,做到能寫基本的HTML代碼就夠了,此外,你還需要了解HTTP協(xié)議(推薦《圖解HTTP協(xié)議》)。目前比較主流的web框架有Django,flask,tornado,各自都有各自的特點,Django文檔豐富,flask短小精悍,tornado異步并發(fā),這里推薦使用flask,推薦書目《flask web開發(fā):基于Python的web應用開發(fā)實戰(zhàn)》
Linux推薦《快樂的Linux命令行》,同樣是一本非常經(jīng)典的入門迷你書,沒有太多理論,范圍也不太寬。
MySQL只推薦一本《MySQL必知必會》,不到250頁的小冊子實踐性很強,沒有什么艱深晦澀的理論堆砌,看完這本基本入門數(shù)據(jù)庫了。
最后:
只看書不會進步,思考和實踐才有成長,自學編程是一個比較枯燥的過程,如果沒有正向反饋,學習的積極性很容易就被打壓下來,所以你應該積極參與到相關的技術圈子中去,嘗試去解答力所能及的新手問題,向圈子中的大牛們需求幫助,善于總結(jié)自己所學到的東西,分享給更多的人,記住:你不是一個人在戰(zhàn)斗。
不會編程能不能學好Python?
做任何事情都取決于你學習態(tài)度,能不能學好也取決于你,這和我們在學校學習知識是一樣的,老師只是起到一個引導的作用,至于最后能不能學好最終還是取決于你。做任何時候都要有自己的學習規(guī)劃和學習路線,學習Python也是一樣,知道現(xiàn)在應該掌握哪方面的知識,下一步需要我們掌握哪方面的知識,企業(yè)和崗位需要我們掌握哪方面的知識,循序漸進。
以上就是我的回答,希望對你有所幫助,學習Python推薦你關注微信公眾號:菜鳥Python筆記,如有不同見解,歡迎在評論下方給我留言。
聯(lián)系客服