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