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