厲害的不是Python其兴,是庫

從我開始寫關(guān)于開發(fā)的文章以來,我一直覺得夸政,Python被炒得太火了元旬。

Python在2017年初開始逐漸受到大家的關(guān)注。在B站搜索“Python”,有50頁的視頻結(jié)果(每頁20條匀归,2018年8月18日 19點(diǎn)09分)坑资。

B站搜索Python的結(jié)果,第一頁的稿件總體上還算可以

這里面有一些是實(shí)打?qū)嵉母韶浤露耍灿邢喈?dāng)一部分是被大家所詬病的營銷號(hào)的視頻袱贮。通常來說,后者基本上都是錄播直播課的部分內(nèi)容体啰,借以推廣QQ群攒巍、推薦課程來牟利。這樣的視頻自然會(huì)取一些標(biāo)題黨性質(zhì)的標(biāo)題荒勇,我本來是不屑于看的柒莉,但是為了寫這篇文章,我們暫且來看看都是什么吧:

Python程序員本身就是Vip沽翔,充Vip是不存在的兢孝!無限獲取Vip特權(quán)!

Python爬蟲爬取知乎數(shù)據(jù)搀擂,爬蟲太強(qiáng)大了西潘!還有什么不能爬?哨颂!

WiFi破解這個(gè)技術(shù)很普通喷市!Python幾行代碼就可以做到!進(jìn)來就學(xué)會(huì)威恼!

爬小電影網(wǎng)站品姓,晚上做個(gè)好夢(mèng),python大佬說的箫措!

Python爬蟲開發(fā)思維腹备,學(xué)會(huì)90%的網(wǎng)站直接無視

Python破解驗(yàn)證碼教程,學(xué)會(huì)即可爬取大部分網(wǎng)站斤蔓!

七夕就要到了植酥,教你利用Python制作抖音超火表白神器

表弟使用Python的兩種方法來爬取《我不是藥神》高清電影和影評(píng),VIP都不需要了弦牡!

Python終極暴力破解

你知道 Python for循環(huán)的真正強(qiáng)大之處嗎友驮?只用它就能爬取整個(gè)網(wǎng)站

Python攻克12306最后一道防線,實(shí)現(xiàn)12306自動(dòng)搶票并下單!

Python爬取今日頭條街拍美女!爬蟲的強(qiáng)大你才只看到一個(gè)角驾锰!

在今日頭條上卸留,由于我自身的關(guān)系,平臺(tái)會(huì)經(jīng)常推薦Python相關(guān)的文章椭豫。這種營銷號(hào)標(biāo)題黨的文章也是屢見不鮮耻瑟。由于今日頭條的搜索功能無法搜索出來全部內(nèi)容旨指,通過無數(shù)次的刷新,我找到了一些這樣的營銷號(hào)標(biāo)題黨內(nèi)容:

學(xué)會(huì)Python之后喳整,感覺PS真的不行谆构!Python修圖拉開PS幾條街!

用Python做了個(gè)能識(shí)別圖片清晰度的程序算柳,馬賽克低淡?看不到了姓言!

如何用Python來識(shí)別最簡(jiǎn)單的驗(yàn)證碼瞬项?然后在識(shí)別12306的驗(yàn)證碼?

國內(nèi)頂尖白帽子用Python打造滲透工具集何荚,當(dāng)時(shí)花上萬購買都被拒囱淋!

完美Python入門基礎(chǔ)知識(shí)點(diǎn)總結(jié),看完你的Python就完全入門了餐塘!

(順便說一下妥衣,前兩條的內(nèi)容幾乎完全一致)

當(dāng)然,由于系統(tǒng)推薦的關(guān)系戒傻,我平乘笆郑看到的類似內(nèi)容更多。對(duì)于這種內(nèi)容需纳,我莫名想到了這一幕:


看上面的內(nèi)容芦倒,基本上都和爬蟲、破解什么的有關(guān)不翩。

這讓我想起了很多人對(duì)于計(jì)算機(jī)專業(yè)的一個(gè)誤解——“你會(huì)盜QQ嗎兵扬?你會(huì)破解程序嗎?你會(huì)……”有些人遇到我也是說關(guān)于爬蟲的事情口蝠,仿佛我寫了一個(gè)爬蟲就能在一周之內(nèi)寫了一個(gè)應(yīng)用于完全不同的平臺(tái)的爬蟲一樣器钟。

——當(dāng)然,這都是題外話了妙蔗。我在這篇文章里面想說的是傲霸,這些東西可能會(huì)讓小白們以為Python本身有這些功能,進(jìn)而把Python和爬蟲等劃上等號(hào)眉反。然而昙啄,實(shí)際上,厲害的不是Python禁漓,是庫跟衅。

?

關(guān)于怎么快速學(xué)python,可以加下小編的python學(xué)習(xí)群:611+530+101播歼,不管你是小白還是大牛伶跷,小編我都?xì)g迎掰读,不定期分享干貨

每天晚上20:00都會(huì)開直播給大家分享python學(xué)習(xí)知識(shí)和路線方法,群里會(huì)不定期更新最新的教程和學(xué)習(xí)方法叭莫,大家都是學(xué)習(xí)python的蹈集,或是轉(zhuǎn)行,或是大學(xué)生雇初,還有工作中想提升自己能力的拢肆,如果你是正在學(xué)習(xí)python的小伙伴可以加入學(xué)習(xí)。最后祝所有程序員都能夠走上人生巔峰靖诗,讓代碼將夢(mèng)想照進(jìn)現(xiàn)實(shí)



Python能做的郭怪,其它語言也可以

計(jì)算機(jī)科學(xué)中有一個(gè)概念——圖靈完備。

在可計(jì)算性理論里刊橘,如果一系列操作數(shù)據(jù)的規(guī)則(如指令集鄙才、編程語言、細(xì)胞自動(dòng)機(jī))可以用來模擬單帶圖靈機(jī)促绵,那么它是圖靈完備的攒庵。這個(gè)詞源于引入圖靈機(jī)概念的數(shù)學(xué)家艾倫·圖靈。

雖然圖靈機(jī)會(huì)受到儲(chǔ)存能力的物理限制败晴,圖靈完全性通常指“具有無限存儲(chǔ)能力的通用物理機(jī)器或編程語言”浓冒。

簡(jiǎn)單來說,一切可計(jì)算的問題都能計(jì)算尖坤,這樣的虛擬機(jī)或者編程語言就叫圖靈完備的稳懒。計(jì)算機(jī)所解決的問題都是可以計(jì)算的問題。因此糖驴,如果一個(gè)編程語言是圖靈完備的僚祷,那么它能夠解決計(jì)算機(jī)能夠解決的所有問題。

現(xiàn)代的絕大多數(shù)高級(jí)編程語言都是圖靈完備的贮缕,包括C辙谜、Pascal、Java感昼、C++装哆、C#、Python定嗓、R蜕琴、Lisp、Haskell宵溅。因此凌简,Python能做的,其它語言也可以恃逻。只不過雏搂,它們的區(qū)別在于性能藕施、學(xué)習(xí)難易程度和支持等,但編程語言能做什么與編程語言本身沒有什么關(guān)系凸郑。

就說大家經(jīng)常遇到的爬蟲吧裳食。爬蟲一般來說就是按照一定的規(guī)則取發(fā)送HTTP請(qǐng)求,傳回?cái)?shù)據(jù)芙沥,對(duì)數(shù)據(jù)進(jìn)行解析诲祸,提取有效數(shù)據(jù)、存檔而昨,如此往復(fù)循環(huán)救氯。這樣一來,大家很容易發(fā)現(xiàn)配紫,這就是語言無關(guān)的了径密。

實(shí)際上,除了Python外躺孝,我用過JS配合早已不更新的PhantomJS寫過爬蟲,還算可以底桂。用Java的話應(yīng)該也比較容易吧植袍。C語言可能有些麻煩,但是也是可行的籽懦。如果你愿意于个,你甚至能用機(jī)器語言來寫爬蟲(估計(jì)沒有人會(huì)這么做吧)。

就算不知道圖靈完備暮顺,高中學(xué)過算法的人應(yīng)該知道厅篓,所有算法無非是順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的組合捶码。

所以羽氮,我十分不建議一個(gè)精通其他語言的人僅僅為了一項(xiàng)功能就去學(xué)其它語言,這樣很容易浪費(fèi)時(shí)間又學(xué)不好惫恼。

而且档押,不要聽到Python就想到爬蟲,不要聽到爬蟲就想到Python祈纯。

厲害的不是Python令宿,是庫

前面也說了,所有算法無非是順序結(jié)構(gòu)腕窥、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的組合粒没。程序就是算法再加上數(shù)據(jù)結(jié)構(gòu)了。但是簇爆,如果只有這些癞松,寫代碼會(huì)非常麻煩倾贰。

我們舉一個(gè)簡(jiǎn)單的例子:計(jì)算三個(gè)數(shù)(ab拦惋、c匆浙,已給定)的最大值(使用Python語言,使用print輸出結(jié)果)厕妖。如果只使用基本的流程結(jié)構(gòu)首尼,代碼如下:

if a > b:

max = a

else:

max = b

if c > max:

max = c

print(max)

實(shí)際上,Python內(nèi)置有函數(shù)max()言秸,可以直接返回最大值:

print(max(a, b, c))

max()函數(shù)封裝了球最大值的算法软能,并且支持更多的功能,使用起來也很方便举畸,一下子節(jié)省6行查排。在C語言里面,默認(rèn)是沒有這樣的函數(shù)的抄沮,要導(dǎo)入Math庫才行跋核。同樣的情況還有很多。

我們經(jīng)常要處理JSON數(shù)據(jù)叛买,但是Python沒有內(nèi)置這樣的功能砂代。幸好Python內(nèi)置有一個(gè)json庫,導(dǎo)入它就能夠使用其中的功能率挣。

import json

a = '''{

"l1": {

"l1_1": [

"l1_1_1",

"l1_1_2"

],

"l1_2": {

"l1_2_1": 121

}

},

"l2": {

"l2_1": null,

"l2_2": true,

"l2_3": {}

}

}'''

b = json.loads(a)

print(b['l2'])

輸出結(jié)果:

{'l2_1': None, 'l2_2': True, 'l2_3': {}}

感興趣的可以自己翻一下實(shí)現(xiàn)這個(gè)功能的代碼刻伊,可以說是很復(fù)雜了。如果讓你自己從頭寫椒功,估計(jì)是寫不好的捶箱。

Python內(nèi)置的urllib庫用來操作HTTP請(qǐng)求,但是直接使用有一些麻煩动漾,這時(shí)可以使用第三方庫requests進(jìn)行HTTP請(qǐng)求丁屎。requests實(shí)際上就是對(duì)urllib等內(nèi)置庫的封裝。這是目前大多數(shù)爬蟲都會(huì)用到的庫谦炬。

Requests

(我特意翻了一下英文文檔悦屏,確實(shí)是按原文翻譯的)

比較常用的還有Pillowselenium键思、pymysql等等的庫础爬,這些庫封裝了各種功能,使用它們可以以非常簡(jiǎn)單的方式實(shí)現(xiàn)復(fù)雜的功能吼鳞。程序員對(duì)這種東西有一種稱呼——輪子看蚜。

既然有人造了輪子,那么對(duì)于普通人來說赔桌,我們只需要知道怎么用它們就行了供炎,至于其中的原理渴逻,不知道也暫時(shí)沒太大關(guān)系。于是音诫,很多聲稱使用Python用僅僅幾行代碼實(shí)現(xiàn)某個(gè)功能的視頻或文章惨奕,實(shí)際上都是使用Python的某個(gè)第三方庫。除了爬蟲所需要的庫之外竭钝,我覺得另一個(gè)在這些文章被提起得比較多的庫就是itchat梨撞,和微信相關(guān)的庫,可以開發(fā)微信機(jī)器人(微商居家旅行必備)香罐。至于TensorFlow什么的卧波,本來對(duì)計(jì)算機(jī)科學(xué)的要求就很高,也就會(huì)曲高和寡庇茫。

pip讓Python的第三方庫的安裝變得異常簡(jiǎn)單港粱,這樣就算是小白也能照著代碼快速實(shí)現(xiàn)自己想要的功能。于是旦签,很多人會(huì)覺得“Python好厲害啊”查坪,更別說那些沒接觸編程的人了。

實(shí)際上顷霹,厲害的不是Python咪惠,是庫。正是這些由世界各地人士開發(fā)支持的庫淋淀,讓我們能夠輕松實(shí)現(xiàn)復(fù)雜的功能。

《后街女孩》第5話 14:32

除了Python覆醇,JS也是有著大量的第三方庫朵纷,也有npm這樣的包管理器,也和Python一樣有著來自世界各地的社區(qū)支持永脓。

本人才疏學(xué)淺袍辞,如有紕漏,萬望見諒常摧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搅吁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子落午,更是在濱河造成了極大的恐慌谎懦,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溃斋,死亡現(xiàn)場(chǎng)離奇詭異界拦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梗劫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門享甸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來截碴,“玉大人,你說我怎么就攤上這事蛉威∪盏ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵蚯嫌,是天一觀的道長哲虾。 經(jīng)常有香客問我,道長齐帚,這世上最難降的妖魔是什么妒牙? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮对妄,結(jié)果婚禮上湘今,老公的妹妹穿的比我還像新娘。我一直安慰自己剪菱,他們只是感情好摩瞎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著孝常,像睡著了一般旗们。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上构灸,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天上渴,我揣著相機(jī)與錄音,去河邊找鬼喜颁。 笑死稠氮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的半开。 我是一名探鬼主播隔披,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼寂拆!你這毒婦竟也來了奢米?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤纠永,失蹤者是張志新(化名)和其女友劉穎鬓长,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渺蒿,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡痢士,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怠蹂。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡善延,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出城侧,到底是詐尸還是另有隱情易遣,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布嫌佑,位于F島的核電站豆茫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏屋摇。R本人自食惡果不足惜揩魂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望炮温。 院中可真熱鬧火脉,春花似錦、人聲如沸柒啤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽担巩。三九已至方援,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間涛癌,已是汗流浹背犯戏。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拳话,地道東北人笛丙。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像假颇,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子骨稿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容