tft每日頭條

 > 生活

 > python進階難不難

python進階難不難

生活 更新时间:2025-01-12 00:01:13

python進階難不難(Python什麼是進階如何進階)1


1. 什麼是進階?

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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


2. 如何進階?

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

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

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

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

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

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

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

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

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


3. 除此之外呢?

除此之外呢?

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

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

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

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

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

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

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


END

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved