學習任何一門語言都是從入門(1年左右)棒妨,通過不間斷練習達到熟練水準(3到5年)踪古,少數(shù)人最終能精通語言,成為執(zhí)牛耳者,他們是金字塔的最頂層伏穆。雖然萬事開頭難拘泞,但好的開始是成功的一半,今天這篇文章就來談?wù)勅绾伍_始入門 Python枕扫。只要方向?qū)α伺汶纾筒慌侣愤h。
設(shè)定目標
當你決定入門 Python 時烟瞧,需要一個清晰且短期內(nèi)可實現(xiàn)的目標诗鸭,比如通過學習找一份初級程序員工作,目標明確后燕刻,你需要了解企業(yè)對初級程序員有哪些技能要求只泼,下面是我從拉勾網(wǎng)找的一個初級 Python 工程師的任職要求:
- 熟悉 Python 及常用的 Web 開發(fā)框架;
- 至少熟悉一種數(shù)據(jù)庫的使用卵洗,如MySQL请唱、mongodb、redis等过蹂;
- 熟悉 Linux 操作系統(tǒng)及常用命令十绑;
- 良好的編碼習慣和文檔編寫習慣;
做 Python 開發(fā)除了熟悉語言本身之外酷勺,還需要掌握很多相關(guān)聯(lián)的技能本橙,好比打NBA,你不光要學如何投籃脆诉,還要練習力量甚亭、技戰(zhàn)術(shù)等一整套東西。所以击胜,一個普通 Python Web 開發(fā)工程師需要掌握的技能包括至少一個Web框架亏狰,比如:Django、Flask偶摔、Tornado暇唾,做業(yè)務(wù)系統(tǒng)離不開數(shù)據(jù)庫的支撐,另外辰斋,還需要對Linux系統(tǒng)的基本操作和常用命令有所了解策州,因為以后你寫到程序基本上都會運行在Linux平臺上。
接下來我從以下幾個方面逐一介紹
Python3宫仗?
不少新手總是糾結(jié)是學 Python2 還是 Python3够挂,就像手里同時有包子和饅頭,不知道先吃哪個锰什,這種糾結(jié)完全就是徒增煩惱下硕,因為它們是同一種語言丁逝,只有少部分地方語法不兼容,盡管目前大部分公司還在用 Python2梭姓,但是 Python3 逐漸成為主流已是不爭事實霜幼,畢竟后者性能方面更占有優(yōu)勢,官方也在力推Python3誉尖。所以毫不猶豫地選擇 Python3 吧罪既,最多花一天的時間能把 Python2 中特有的內(nèi)容搞懂。
開發(fā)工具
工欲善其事必先利其器铡恕,做 Python 開發(fā)的 IDE(編輯器)層出不窮琢感,我只推薦 Pycharm 和 Sublime,它們的學習成本非常低探熔,網(wǎng)上找一篇教程看了基本就能上手驹针,Vim、Emacs 這樣的遠古神器還是放以后再去了解吧诀艰。另外柬甥,今后你所遇到的 90% 的問題都有可能通過Google和StackOverflow來解決。
學習資源
網(wǎng)上入門資源琳瑯滿目其垄,一本好書能為你指點迷津苛蒲。快速了解 Python 可以看一下 Learn Python in Y minutes 這篇文章绿满。但千萬不要被標題所迷惑臂外,一門語言不可能幾分鐘就能學會,看完之后應(yīng)該會對Python 有個初步的印象喇颁,照著示例操作完之后漏健,你就要選擇一本合適入門的教程,《A Byte of Python》是一本值得推薦的書籍橘霎,來說說我推薦這本書的理由漾肮。
《A Byte of Python》的中文名叫《簡明 Python 教程》,這本書的最新版已經(jīng)是第10版茎毁,基于 Python3.5,所以不擔心是否知識落后的問題忱辅,其次七蜘,這本書的厚度152頁非常適合入門,涵蓋了 Python 入門所有內(nèi)容墙懂,相對那些五六百頁的大部頭書來說非常精簡了橡卤,2個星期能啃完。還有最重要的一點损搬,這本書是免費的碧库,在公眾號回復 "byte" 免費獲取《A Byte of Python》不同格式的電子書柜与。
這本書看完之后,你應(yīng)該能設(shè)計出簡單程序出來嵌灰。再推薦一本書《Python學習手冊》作為進階學習弄匕,內(nèi)容相對要更深入,適合有一定編程基礎(chǔ)的人閱讀沽瞭。
做Web開發(fā)迁匠,HTML、JS驹溃、CSS 是必須有所了解的城丧,作為前端技能,不一定要深入了解豌鹤,做到能寫基本的HTML代碼就夠了亡哄,此外,你還需要了解 HTTP 協(xié)議(推薦《圖解HTTP協(xié)議》)布疙。目前比較主流的Web框架有 Django蚊惯、Flask、Tornado拐辽,各自都有各自的特點拣挪,Django 文檔豐富、Flask 短小精悍俱诸、Tornado 異步并發(fā)菠劝。這里推薦使用 Flask,推薦書目《Flask Web開發(fā):基于Python的Web應(yīng)用開發(fā)實戰(zhàn)》
Linux 推薦《快樂的 Linux 命令行》睁搭,同樣是一本非常經(jīng)典的入門迷你書赶诊,沒有太多理論,范圍也不太寬园骆。
MySQL只推薦一本《MySQL必知必會》舔痪,不到250頁的小冊子,實踐性很強锌唾,沒有什么艱深晦澀的理論堆砌锄码,看完這本書基本入門數(shù)據(jù)庫了,購買地址
最后
只看書不會進步晌涕,思考和實踐才有成長滋捶,自學編程是一個比較枯燥的過程,如果沒有正向反饋余黎,學習的積極性很容易被打壓下來重窟,所以你應(yīng)該積極參與到相關(guān)的技術(shù)圈子中去,嘗試去解答力所能及的新手問題惧财,向圈子中的大牛們尋求幫助巡扇,善于總結(jié)自己所學到的東西扭仁,分享給更多的人,記住厅翔,你不是一個人在戰(zhàn)斗乖坠。