• <xmp id="4g4m2"><menu id="4g4m2"></menu><menu id="4g4m2"><strong id="4g4m2"></strong></menu>
    <xmp id="4g4m2">
  • <menu id="4g4m2"></menu>
  • <dd id="4g4m2"></dd>
  • 只發布交易干貨的網站
    用實戰期貨交易系統和心得助你重塑交易認知

    正規期貨開戶 | 手續費只+1分

    90%交易者的手續費都被加收超1倍,一起看看最新的交易所手續費一覽表吧!

    進階是什么意思-Python:什么是進階,如何進階?

    1. 什么是進階?

    一門編程語言的基礎部分,往往非常簡單。如果只考慮基本語法、數據類型、基本控制結構的話,大部分人應該一兩天就學完 Python 了吧。之后,調用幾個常用的庫,寫一些腳本,或者做爬蟲,或者做數據分析,或者做一些其它自動化工作,就可以說已經入門了。

    那么,接下來呢?當我們問如何進階的時候,我們具體問的是什么呢?我們為什么要追求進階,進階又是一種怎樣的狀態呢?

    顯然,我們已經可以通過一些腳本解決一些簡單的問題了。大多數時候,問如何進階的人,暫時也沒有碰到什么無法解決的問題。

    但是我們知道自己掌握的還不夠,還不足以依靠這些知識進入一個開發團隊,并以這門編程語言作為主要開發語言,貢獻于整個項目——或者說,與他人協作,共同解決一個比較復雜,比較龐大的問題。

    從這個角度說,編程中所謂的進階,大概是指能夠以一門語言為主,參與到一個比較大的項目中,與他人協作,解決一個相對復雜的問題。

    從這個目標看,我們對進階的理解就要具體一些了。如果再分解這個目標,大概就會有以下思路:

    1. 我們當然知道,解決一個比較復雜的問題,需要相當多的知識,這些知識不僅包括對計算機技術的了解,還包括對業務邏輯的理解,對商業目標的考慮等。

    僅就計算機技術而言,了解一門編程語言的語法也還只是一個開始,最多算是解決了數據處理的問題,另外還考慮考慮數據的存儲與傳輸問題。一般來說,也就是基本的 數據傳輸協議與數據庫知識 等。

    2. 大部分時候,我們所要處理的問題都是常見的,前人已經處理過的,并且有優秀的開發者作出梳理和總結,提供了一些方便的框架,常見的比如 web 框架、桌面 UI 框架、數據庫操作、爬蟲、數據分析框架等。

    對這些 現成框架的了解以及基本用法的掌握 ,應該也是很有必要的。

    3. 對于日常的編程工作,我們可以簡單地認為,大多數時候都是在做數據處理。那么,我們似乎有義務去考慮,如何才能讓自己的代碼在數據處理時更高效,更簡潔——對的,這個問題主要涉及數據結構和算法的設計。

    但就一門具體的語言來說,還涉及 這門語言的總體生態,特別是其核心庫 。以 Python 來說,了解其基本數據結構當然很重要,但很多其它常用的數據結構和算法也都在核心庫,或者第三方庫中有實現,對絕大多數用戶來說,自己再去實現一遍,既麻煩又低效,也很容易出 Bug,是得不償失的。

    4. 團隊協作的問題,當然也不能忽略。如何保證我們的代碼在嚴肅的生產環境中不會出 Bug?如何保證別人能充分地理解,方便地調用我們的代碼?如何保證我們寫的程序不會隨著需求的演變變得越來越臃腫,越來越復雜?如何保證我們離開這個崗位后,接手的人可以很容易地看懂并維護我們留下的代碼?

    這里涉及的問題,就是 代碼的可讀性與可維護性,文檔與測試,設計模式與版本管理 等各方面的內容。

    這里所列的,都只是簡單的思考方向,具體的內容,則隨我們的目標而定。一般的建議是,直接去看招聘網站上的崗位要求,就能對具體目標有所了解了,這是最貼近實際的。

    2. 如何進階?

    下一個問題是,如何進階呢?

    我們首先應該會達成的共識是:作為一門技術,編程應該在實踐中學習,因此,進階一定包含大量的實踐,而不僅僅是理論的閱讀與理解。

    進階是什么意思-Python:什么是進階,如何進階?

    于是,我們的問題轉換為,我們要學習哪些理論,做哪些實踐?

    參考我們在上面提出的四條思路,主要涉及的理論應該包括:數據存儲與傳輸、常用框架、數據結構與算法、編碼規范、文檔、測試、設計模式與版本管理等。

    在這些理論知識中,我們實踐起來最方便,教材也最豐富的,應該是各種常用框架。事實上,我們要構建一個應用,解決一個問題,一般都會借助一個成熟的框架。

    那么也就是說,可能最為常見的學習路徑,就是學習框架,通過框架搭建自己的應用,并在這個過程中系統學習,不斷引入其它各方面的理論和實踐。

    舉例來說,我們可以著手學習一個 web 框架,寫一個簡單應用,在這個過程中不斷引入其它方面的內容:

    首先是 編碼規范 ,最為基礎,內容也很少。就 Python 而言,可以先看一遍 PEP8 的建議,然后在 IDE 中引入一些檢查插件,就可以按照規范進行編碼了。第二個可以很快學會的是 版本管理工具 ,只需要花幾個小時了解一下基本命令,就可以在之后的編程實踐中用起來了。文檔與測試,相對來說也比較容易上手,自然也可以緊接著引入自己的實踐中。數據存儲與傳輸、數據結構與算法、設計模式 等內容,相對地需要一定的系統學習,市面上也有豐富的材料,只要有一個整體的計劃,在學習的過程中不斷地與自己的實踐相參照,自然可以融會貫通。

    總的來說,這是一個有意識地學習的過程,不斷反省自己的缺漏,不斷引入新的實踐內容。對于新人來說,開始上手都是容易的,可能比較困難的是對這些目標的持續反思,按這些規范嚴格要求自己。

    3. 除此之外呢?

    除此之外呢?

    任何一門編程語言,除了語言本身,都包含大量社區實踐形成的規范,或者說,經驗總結。比如 PEP8 就是 Python 社區關于編碼規范所形成的一套約定。這些經驗,也可以認為是當前被比較多人所認同的最佳實踐,我們當然有必要了解這些最佳實踐。

    事實上,是否知道并采用這些最佳實踐,有時也可以作為我們判斷一位程序員是否經驗豐富的標準。

    我們獲取這類最佳實踐的方法,一個是通過團隊之間的相互學習,一個是通過書籍。

    比如 《Effective Python:編寫高質量 Python 代碼的59個有效方法》 就是介紹最佳實踐的書籍。里面的內容,有些我們已經習以為常了,也有些可能不太了解。

    說來慚愧,當我閱讀這本書的時候,有時心里是很慌的。我們寫代碼,經常過一段時間,就感覺之前的代碼寫得很爛,現在寫得會好一些,于是感覺自己有點成就了,看了別人的實踐,卻發現自己的代碼依然丑陋。

    所謂“獨學而無友,則孤陋而寡聞”,就是這個意思吧!

    這篇文章已經比較長了,這個系列接下來的文章,會大體介紹《Effective Python》所推薦的最佳實踐,叫做 “Python進階自檢清單” 。大部分內容確實只是把清單列出來而已,可能會涉及一些我自己的理解和補充。當然,出錯的部分都是我的問題,還請大家多多指教!

    END

    本文名稱:《進階是什么意思-Python:什么是進階,如何進階?》
    本文鏈接:http://www.wuhansb.com/xun/499785.html
    免責聲明:投資有風險!入市需謹慎!本站內容均由用戶自發貢獻,或整編自互聯網,或AI編輯完成,因此對于內容真實性不能作任何類型的保證!請自行判斷內容真假!但是如您發現有涉嫌:抄襲侵權、違法違規、疑似詐騙、虛假不良等內容,請通過底部“聯系&建議”通道,及時與本站聯系,本站始終秉持積極配合態度處理各類問題,因此在收到郵件后,必會刪除相應內容!另外,如需做其他配合工作,如:設置相關詞匯屏蔽等,均可配合完成,以防止后續出現此類內容。生活不易,還請手下留情!由衷希望大家能多多理解,在此先謝過大家了~

    我要說說 搶沙發

    評論前必須登錄!

    立即登錄   注冊

    切換注冊

    登錄

    忘記密碼 ?

    切換登錄

    注冊

    我們將發送一封驗證郵件至你的郵箱, 請正確填寫以完成賬號注冊和激活

    簧色带三级