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

熱線電話:13121318867

登錄
首頁精彩閱讀Python初學(xué)者必讀丨五分鐘內(nèi)教你如何學(xué)習(xí)Python
Python初學(xué)者必讀丨五分鐘內(nèi)教你如何學(xué)習(xí)Python
2017-12-27
收藏

Python初學(xué)者必讀丨五分鐘內(nèi)教你如何學(xué)習(xí)Python

許多Python初學(xué)者都不知道該如何開始學(xué)習(xí)。軟件工程師Daniel Moniz分享了他自己的故事,他是如何在辭職后從零開始學(xué)習(xí)Python,并找到自己心儀的工作。

CDA字幕組對該視頻進行了漢化,附有中文字幕的視頻如下:

五分鐘內(nèi)教你如何學(xué)習(xí)Python

針對不方便打開視頻的小伙伴,CDA字幕組也貼心的整理了文字版本,如下:

大家好,歡迎來到我的五分鐘講座——關(guān)于如何學(xué)習(xí)Python。我叫Daniel Moniz,我在Points公司工作。我作為一名軟件工程師在那兒工作了一年。

針對那些想進入Python領(lǐng)域的人群,那些想學(xué)習(xí)Python的人群,我們有責(zé)任盡可能地幫助他們,關(guān)于如何學(xué)習(xí)Python的講座并不多。

這個講座的目的是幫助初學(xué)者學(xué)習(xí),最終能夠找到Python方面的工作。

我的故事

一年半前,我裸辭了,就這樣結(jié)束了上一份工作。之前我們沒有用源代碼控制,使用的是PHP。

我想學(xué)習(xí)完全不一樣的東西。接著我辭職了,計劃花兩到三個月學(xué)習(xí)Python,找一個很棒的工作。因此我創(chuàng)建了一個體系去執(zhí)行,結(jié)果利用我的Python和Django技能,我的確在三個月內(nèi)找到了工作,在Points順利就職。因此我打算與你們分享我是如何做到的。

在Points的前兩個月,我的職責(zé)當然是開發(fā)軟件。同時還包括分享Python知識,我負責(zé)提高團隊的Python技能。因此我做的包括進行大量代碼審查,以及大量結(jié)對編程。在過去幾個月我進行了上百次代碼審查,并給出直截了當?shù)姆答?。并且我了解到Java開發(fā)人員在學(xué)習(xí)Python時,會遇到的各種問題。

接下來我要展示的體系是可重復(fù)的,我相信每個人都可以做到。能夠得出相應(yīng)的結(jié)果,因為這遵循一定雇主所期望的原則。

三天項目模式

這稱為三天項目模式。

你所需要的就是一個項目理念。因此你可以求助更有經(jīng)驗的開發(fā)人員,找到你能夠在兩到三天內(nèi)完成的項目。

我做的是網(wǎng)絡(luò)爬蟲,這是一個朋友給我的想法。他讓我選一個我喜歡的網(wǎng)站,因此我爬取了指環(huán)王的維基百科。下載到本地并重新映射所有的鏈接,因此能夠在本地運行而不是通過網(wǎng)絡(luò),這很簡單。

第一天

你隨意的嘗試,去犯錯,去了解這個語言。這是我使用Python做的第一件事。假設(shè)你要重構(gòu)所有操作,進行各種嘗試。

第二天

完成應(yīng)用的功能。這是一個很小的應(yīng)用,如果變得太大了就減小規(guī)模。如果有需要就進行重構(gòu),因為你需要讓代碼很整潔,之后會解釋具體原因。消除bug,在第二天結(jié)束時你應(yīng)該做到將3個bug減少到為零。

第三天

第三天我們基本不會進行太多編程。而是完善文檔,再次重構(gòu)。進行在線測試和封裝等問題,盡可能地去完成項目。

因為第四天就結(jié)束了,你對該項目徹底放手。

根據(jù)這個目標,我們試著去構(gòu)建一個完整的、自我維持、無需維護的項目。因此得出展現(xiàn)我們努力的成果。這一過程不僅感覺很好,而且你還有可以展現(xiàn)給雇主的成果。這能夠?qū)懭氲侥愕暮啔v中,我也是這么做的,這幫我找到了工作。

其他的工具和技巧

電話面試

電話面試是冷酷無情而且令人恐懼的。我進行了大量的電話面試,從中得到了許多經(jīng)驗教訓(xùn)。

我發(fā)現(xiàn)了一個網(wǎng)站coderbyte.com。他們會給一個15分鐘的Python問題讓你解決。同樣還有其他的語言。目的是為了讓你在實際進行面試前,先試著絞盡腦汁去解決問題。在進行電話面試時這大大地幫助了我。特別是當你需要在Google Docs(在線辦公軟件)進行編程時,你無法運行也無法測試。

Stack Overflow

好好地利用Stack Overflow。顯然,眾所周知這是很棒的資源。如果你的朋友想學(xué)習(xí)Python,讓他們使用Stack Overflow。進行提問,只要你感覺可以了就去回答問題。閱讀相關(guān)問題,特別是關(guān)于裝飾器(Decorator) 和生成器(Generator)。有相關(guān)的優(yōu)秀長篇論文,涉及到Python的各個細節(jié),從中能夠更好地了解其工作原理。

常見的問題

一些常見的問題,尤其是對于Java開發(fā)者來說有兩個問題。一切都是對象,人們很難理解到這點。如果理解到int型、文件、函數(shù)都是對象,那么就能更好地進行操控。意識到這些并不是魔法,而只是簡單地操作對象。

學(xué)習(xí)重構(gòu),并且在重構(gòu)中學(xué)習(xí)。如果你不對你的Python代碼進行重構(gòu),你就無法學(xué)會如何寫出好的Python代碼。所以別太介意代碼審查的評價。

初學(xué)者的挑戰(zhàn)

最后一點,我提出了給初學(xué)者的挑戰(zhàn)。如果你不確定你所處的技能水平,那么就使用Python模擬庫,在你的代碼庫編寫單元測試,尤其針對Web應(yīng)用。

如果你能做到這些,你就能很好地掌握Python解釋器的工作原理。你就不再是Python編程的初學(xué)者了。

就到這里,非常感謝。


數(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(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 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); }