99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀入門必備 | 大佬們推薦的 Python 書單匯總
入門必備 | 大佬們推薦的 Python 書單匯總
2019-08-21
收藏
入門必備 | 大佬們推薦的 Python 書單匯總

作者 | 蘇克1900

來源 | 高級農(nóng)民工

摘要:此文主要針對想入門 Python 但不知道看什么書好和有選擇糾結癥的童鞋,大佬們可繞道。

轉眼也到了年終,這一期換個話題,圍繞這幾個問題:「學習 Python 該看哪些書?不同的書該怎么看?按照什么樣的順序看?」,來聊一聊如何入門 Python,為了更有說服性一些,這里我把入門時看過的一些大佬推薦的書單進行了匯總,最后結合我的學習路徑談談怎么讀書。

半年前,Python 對我來說就是謎一樣的東西,根本不知道如何下手、從何處下手,整天像無頭蒼蠅一樣到處找資源,個把月過去了還沒找到 Python 大門在哪兒,主要是花了很多的時間在糾結「該學習 Python 還是 R、學習 Python3 還是 Python 2 、看什么入門書最合適?」這些問題。知乎、豆瓣、CSDN、各大佬的公眾號搜羅逛了一圈下來,只明確了前兩個問題,就是要學習 Python,而且是 Python3,但對于看什么書,陷入了糾結遲遲下不了手。

現(xiàn)在看來,這應該是屬于必經(jīng)的過程,當涉足一個陌生的學習領域,對什么都不了解,即使別人給的建議再對,也會掂量猶豫幾下。慢慢地,我開始進行總結,把一些大佬推薦的入門書籍文章進行匯總對比,然后就發(fā)現(xiàn)有些書是都在推薦的,于是決定重點就看這些書,這樣才算慢慢摸到 Python 的大門。

話不多說,下面就分享 5 位大佬推薦的書單,除了入門書,還包括數(shù)據(jù)分析、數(shù)據(jù)挖掘、機器學習等方面,可以說是非常全面。


▌劉志軍 (Python 之禪 作者)

劉志軍是位不折不扣的 Python 大佬,他博客中的 Python 文章最早可以追溯到 2013 年。

入門必備 | 大佬們推薦的 Python 書單匯總


▌leoxin (菜鳥學 Python 作者)

辛哥爬取分析了豆瓣 Python 相關的 1000 多本書籍,從各個角度找到了最受歡迎的書目,然后給出了自己的推薦。

入門必備 | 大佬們推薦的 Python 書單匯總


▌劉順祥 (數(shù)據(jù)分析 1480 作者)

劉順祥大佬的公眾號干貨很多,入門時學習到很多。

入門必備 | 大佬們推薦的 Python 書單匯總


▌秦路 (七周成為數(shù)據(jù)分析師課程作者)

秦路大佬在天善智能社區(qū)開設的《七周成為數(shù)據(jù)分析師》課程非常棒,他的推薦也非常值得參考。

入門必備 | 大佬們推薦的 Python 書單匯總


▌王大偉 (Python愛好者作者)

王大偉大佬寫的文章非常有趣,我看了他的幾篇關于類(Class) 的文章后才徹底搞懂類是怎么回事。

入門必備 | 大佬們推薦的 Python 書單匯總


以上就是 5 位大佬的推薦,想必你心里大概有個譜了,下面再說說我看過的一些書,然后分享一下我的入門路徑。

▌我都看了哪些書

入門必備 | 大佬們推薦的 Python 書單匯總


你可能注意到了,以上推薦了少說也有好幾十本書,范圍還是有點大,就算都是值得看的書,也沒么多時間精力都去看,所以上面只是入門 Python 的第一個步驟,即篩選書的范圍,還有更為重要的兩個步驟。

第一,首先要明確你學 Python 的目的。也就是你想學了去干嘛,是做爬蟲、數(shù)據(jù)分析挖掘、機器學習、web 開發(fā)還是什么其他的,雖說不同的方向都需要有 Python 基礎,但對 Python 的基礎也是有所側重,只有確定一個方向才可以進一步篩選書和書中章節(jié)的范圍。

第二,確定了書的范圍后,要琢磨好怎么去看每一本書、以什么樣的順序去看書。不然,同時看好幾本書,每一本都從頭開始看,堅持不了幾天就會放棄。

下面以我入門的過程來具體說一下。

由于我此前是零編程基礎,helloworld 都不會打的那種,上知乎看了幾個 Python 入門的回答后,覺得用 Python 做數(shù)據(jù)分析這個方向不錯,加上我此前學 Excel 時就對數(shù)據(jù)分析比較感興趣,所以就確定了這個方向,但很快就發(fā)現(xiàn)行不通,因為我連基本的 Python 操作都不會,處處卡殼,時間都花在摳一個個的小問題上去了,折騰到最后也沒太大興趣去分析了,而且數(shù)據(jù)分析本身是有一套理論方法的,我更不會,如果同時學 Python 操作和分析方法,比較耗費精力,顯然不可取,所以就放棄直接學數(shù)據(jù)分析這個想法。

然后我選了另外一條路,就是爬蟲,因為基礎的爬蟲比數(shù)據(jù)分析簡單,學習曲線不陡,而且爬蟲比較有意思,寫出來別人也更愿意看,進一步了解到初步的爬蟲學習主要學幾個爬蟲類庫、網(wǎng)頁解析提取庫、框架這幾塊就行了,這樣一下就縮小了書的選擇范圍和內(nèi)容范圍。


至此,我就選擇了「Python 基礎——爬蟲——數(shù)據(jù)分析」這樣一條路線。

首先,我選擇了《深入淺出 Python 》這本書作為入門的第一本書,該書淺顯易懂,注釋詳盡,對新手很友好。接著,我又大致過了一遍《Python 編程從入門到實踐》,前面幾章寫得非常實用,這樣對 Python 就有了一個大致了解。

接著,便開始上手爬蟲,但爬蟲類的書非常少,起先只找到兩本,一本是國外的《Python 網(wǎng)絡數(shù)據(jù)采集》,書不厚,看了后大致了解了:爬蟲是怎么一回事、爬蟲能做什么、要會哪些東西等這幾個問題,另一本是韋瑋老師的《精通 Python 網(wǎng)絡爬蟲》,這本書當時覺得還不錯,有很多實操案例,但是理論部分欠缺一些。

后來偶然搜到了崔慶才大佬的爬蟲文章,很贊,果斷就買了他剛出的《Python3 網(wǎng)絡爬蟲實戰(zhàn)》這本書,由此算是找到了爬蟲方向。

通過爬蟲把數(shù)據(jù)爬下來后就開始嘗試一些簡單的分析,但發(fā)現(xiàn)很多操作根本不熟練,于是采取了兩種方法去學習,首先是谷歌解決實際問題,然后閑的時候翻看了《利用 Python 進行數(shù)據(jù)分析》、《流暢的 python》、《 Python Cookbook》這幾本書,算是系統(tǒng)地鞏固了一下相關知識。

就這樣,幾個月下來,練習了 10 個左右的爬蟲,自認為算是入門了 Python 爬蟲和數(shù)據(jù)分析。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }