因?yàn)榍逦鬃x的風(fēng)格,廣泛的適用性,Python已經(jīng)成為最受歡迎的編程語言之一。在TIOBE 排行榜中位居第四,是名副其實(shí)的人工智能第一語言。
風(fēng)靡的另一個(gè)原因是,Python有非常多的第三方庫。比如用于WEB開發(fā)的Django/Flask,用于科學(xué)計(jì)算的 Numpy/Scipy,用于機(jī)器學(xué)習(xí)的 Scikit-Learn,用于運(yùn)維的 Supervisor/Fabric,用于網(wǎng)絡(luò)爬蟲的 BeautifulSoup/Scrapy……這些你都可以輕松調(diào)用實(shí)現(xiàn),不用再造輪子。
利用Python進(jìn)行數(shù)據(jù)分析
利用 Python 爬取網(wǎng)頁數(shù)據(jù)
利用Python寫小游戲
認(rèn)真學(xué)習(xí)一周,你就可以寫一個(gè)貪吃蛇
利用Python寫工具腳本
用 Python 寫一個(gè)自動(dòng)搶票的腳本
你認(rèn)為這些離你還很遠(yuǎn)?但編程在你的工作、生活中的很多場(chǎng)景都能被利用。
比如量級(jí)稍微大些的數(shù)據(jù),Office的性能根本不能滿足需求,而用 Python 可以輕松地處理、分析。而微軟也正在考慮將 Python 作為 Excel 的一種官方腳本語言,由于 Python 的適用性,使其不僅可以實(shí)現(xiàn)VBA的功能,也可以代替場(chǎng)函數(shù)。
比如你想做一些市場(chǎng)調(diào)研,那么用 Python 寫一個(gè)爬蟲,即可批量地獲取互聯(lián)網(wǎng)數(shù)據(jù),這些則是很有價(jià)值的原材料。
你也可以去寫一些實(shí)用的工具腳本,比如跳一跳的自動(dòng)化刷分工具,比如自動(dòng)搶票的插件,文件批量處理工具……
如果你覺得這些很難,那可能是技術(shù)限制了你的想象力。
Python廣泛的應(yīng)用場(chǎng)景
所以無論是實(shí)用性還是易用性,Python 都是學(xué)習(xí)編程最具性價(jià)比的選擇。如果你學(xué)過其他的語言,再學(xué) Python 將會(huì)讓你的技能樹大大地拓寬,有能力涉足更多的領(lǐng)域。
學(xué)習(xí)編程從入門到放棄的人不計(jì)其數(shù),很大程度上是因?yàn)椋a(chǎn)出和投入的精力完全不成正比。而學(xué)習(xí) Python,幾行代碼就可以實(shí)現(xiàn)一個(gè)爬蟲,幾個(gè)函數(shù)就可以做簡(jiǎn)單的數(shù)據(jù)分析,寫一個(gè)小工具、小游戲也是分分鐘的事情……這種成就感,會(huì)激發(fā)你最原始的興趣。
那如何系統(tǒng)學(xué)習(xí)Python呢?一般我們會(huì)經(jīng)歷以下幾個(gè)階段。
01
了解 Python 編程基礎(chǔ)
一是變量、編程規(guī)范、基礎(chǔ)語法等,這也是能夠上手編寫 Python 代碼的前提。
二是數(shù)據(jù)結(jié)構(gòu),字符串、列表、字典、元組這些需要非常熟練,數(shù)據(jù)類型將貫穿你整個(gè)編程的始終。
這個(gè)部分一些簡(jiǎn)單的練習(xí)就是,自己構(gòu)造一個(gè)數(shù)據(jù)類型,然后去實(shí)現(xiàn)基本的用法。比如你自己構(gòu)造一個(gè)列表,實(shí)現(xiàn)列表中數(shù)據(jù)的訪問、更新、刪除等基本操作,比如 len()、max()、min() 函數(shù),以及 append()、count()、extend() 等方法。
函數(shù)和方法是實(shí)現(xiàn)數(shù)據(jù)增刪改查的基本途徑,如果你在實(shí)際操作中遇到數(shù)據(jù)操作的問題,可以在具體的數(shù)據(jù)類型下查找相關(guān)用法。
02
Python函數(shù)及流程控制
學(xué)習(xí) Python 的函數(shù)和控制語句,是真正去解決問題的過程。如何實(shí)現(xiàn)判斷和循壞,如何將固定的功能模塊封裝成函數(shù),這些不僅是寫出代碼的必要條件,也是訓(xùn)練編程思維的必經(jīng)之路。
函數(shù)這個(gè)部分無外乎函數(shù)的定義、函數(shù)調(diào)用以及參數(shù)傳遞,但是要能夠嫻熟地寫出函數(shù)實(shí)現(xiàn)對(duì)應(yīng)的功能,需要注意的細(xì)節(jié)很多,也需要不斷地訓(xùn)練。
流程控制則相對(duì)要好掌握一些,條件語句和循壞語句在不同的場(chǎng)景下練習(xí)幾遍,知道判斷和循環(huán)實(shí)現(xiàn)的過程,基本上就沒問題了。
其實(shí)到這個(gè)地方,基本的Python知識(shí)你已經(jīng)掌握了,你可以自己去做一些小項(xiàng)目,比如猜數(shù)字、各種轉(zhuǎn)換器、記賬工具……
03
利用 Python 做些事情
通常在學(xué)習(xí)一段時(shí)間之后,你就會(huì)有自我懷疑的過程,貌似真的懂了,但是離做出實(shí)際的東西又很遠(yuǎn),這些東西是否有用?
這個(gè)時(shí)候不妨了解一些第三方庫,你可以做更多的事情。比如用pandas作數(shù)據(jù)處理,用matplotlib做數(shù)據(jù)可視化分析,用BeautifulSoup寫爬蟲,利用Flask搭建網(wǎng)站……這些別人搭好的輪子,你直接拿來用就可以了。當(dāng)然像寫爬蟲和網(wǎng)站,你還需要了解其他方面的一些知識(shí)(比如HTTP、HTML、JS、數(shù)據(jù)庫等)。
對(duì)于不同的庫,內(nèi)部的方法、函數(shù)你還需要去熟悉,開始的時(shí)候先掌握少部分最常用的方法,在遇到實(shí)際的問題的時(shí)候,再去查對(duì)應(yīng)的更多的用法,這樣會(huì)更高效。
04
深入 Python 編程
其實(shí)第三個(gè)階段反復(fù)練習(xí)實(shí)踐,你已經(jīng)基本具備一些工作的技能了,比如 Python 數(shù)據(jù)分析、網(wǎng)絡(luò)爬蟲、寫工具腳本……
首先你要了解Python的高級(jí)特性,如迭代器、生成器、裝飾器等,了解類和面向?qū)ο蟮睦砟睢I钊胂氯ィ憧梢匀ヌ剿鱌ython的實(shí)現(xiàn)原理,Python的性能優(yōu)化,跳出Python語言本身,去了解計(jì)算機(jī)的交互原理,還有很長(zhǎng)的路要走,但并不是每一個(gè)人都需要這個(gè)過程。
但這些高屋建瓴的東西,又是你在這個(gè)領(lǐng)域立足生根的重要條件,對(duì)于堅(jiān)定走技術(shù)方向的人來說,這個(gè)過程是有必要的。這個(gè)時(shí)候你再去做應(yīng)用層面的一些東西,又會(huì)有更加深刻的理解。
總結(jié)下來,學(xué)習(xí)Python,最常見的坑有這些:
1.很難找到合適且優(yōu)質(zhì)的學(xué)習(xí)資源,難以下手,或者隨便找一些材料開始學(xué)習(xí),極其容易從入門到放棄;
2.遇到問題不知道如何尋找解決辦法,甚至連問題都描述不清楚,經(jīng)常被一些細(xì)小的問題卡住,學(xué)習(xí)效率不高;
3.在理論學(xué)習(xí)中無法自拔,學(xué)習(xí)很久之后,發(fā)現(xiàn)還是不知道如何在實(shí)際的項(xiàng)目中去應(yīng)用,缺乏解決問題的能力;
4.看到別人的案例覺得好像是那么回事,但是自己去寫代碼的時(shí)候依然很困難,無法訓(xùn)練編程思維。
………………
如果成功的跨過了這些坑,那么恭喜你,你已經(jīng)成為了一名合格的Pythoner!
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8490瀏覽量
134080 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86172
原文標(biāo)題:從入門到上手,如何快速學(xué)會(huì)Python?
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論