Python 是一個美麗的語言,可以激發用戶對它的愛。所以如果你試圖加入程序員行列,或者你有點厭倦C++,Perl,Java 和其他語言,我推薦你嘗試Python.
Python有很多吸引程序員的功能 ,它易學,面向對象,字節碼編譯,免費且開源。還有運行時檢查。完整快速的支持,可以執行各種任務的擴展。
高效的Python
在這篇文章,我想強調一些 Python 可以節約時間並最大限度地提高生產力的方面。在做准備時,我咨詢了幾個 Pythonists,他們最節省時間的技巧是什麼?答案在這裡…
1. 不使用分號
使用分號在 Python 中是可選的,對比其他面向對象語言,你不需要在每一條語句後面使用分號。
這看起來很簡單,似乎也節省不了多少時間;但一旦你的代碼量擴展到數千號,這些分號就變得分心且沒有必要鍵入。
2. 找一個稱手的代碼編輯器
選擇一個稱手的代碼編輯器可以節省大量的時間。面對這麼多代碼編輯器,很多新手都會感覺很迷茫。
習慣一個編輯器再使用其他編輯器會覺得很混亂,所以選一個稱手的是一個好的起點。不管你選擇哪一個,要實時支持 flake8 和 PEP8。
關於編輯器選擇指南,請參考文章 Which Code Editors Do Pythonists Use?
3. 遵循 Python 代碼規范
遵循 Python 代碼規范可以提升代碼的可讀性,從而節省評審代碼的時間。Python 的設計哲學 強調代碼的可讀性。)
4. 使用 help() 函數
Python 的 help() 是隨手可用的內置函數可以節約很多時間,比如查找其他函數的解釋。你可以在解釋器終端直接運行該函數。
Python 文檔有更多該函數的用法。
5. 使用庫
Python 有大量的庫可以讓你不必每次都重復造輪子。
比如,你可以從 PyPIPython包索引)選擇大量可用的包,這是一個軟件倉庫。
Scikit-image 是一個很好例子,它使圖像處理任務如模糊,增強對比度,縮放只需要一些函數調用就可以完成。
6. 使用Cookiecutter
Cookiecutter 是一命令行工具,可以幫助你從工程模板創建 Python 工程,這可以節省大量的時間。
7. 嚴格的注釋
養成寫注釋的好習慣,可以節省你和其他人的時間,尤其是作調試跟蹤。是的我們聽到很多,但似乎很多程序員還是需要提醒)。
注釋在團隊合作是非常關鍵,尤其是一個做了大量變更。
8. 經常測試
嘗試測試你程序中的每一個組件。聽起來好像有點費時,但長時間運行可以節省大量時間,幫助你發現隱藏的 bug,讓你對代碼更放心,還強制你理解自己的每一片代碼在真實情況下是如何地運行。
REPL 是一個 read-eval-print loop,一個常用的代碼測試工具,很多 Pythonists 使用它。
9. 專注和專業
Pythonists 都建議要有一個專注領域和專長。你可以使用 Python 做很多事情,從編寫網頁攝像到處理計算和算法。
已經有大量的庫可以幫助完成這些任務,如 SimpleCV,計算機視覺處理;Biopython,是一個生物計算庫; SymPy,是一個數學符號計算庫。
深入類似這些的領域,並掌握一個特定的框架,幫助你在更深的層次學習 Python,掌握一個特定的代碼風格在第三部分已經提到),處理特定類型的問題。
10. 每天編碼
當你養成了每天寫 python 代碼,使用 python 解決問題的習慣,你就會開始用 python 思考,可以這麼說,這將最終會幫助你更快的解決問題。
總結
在這邊簡短的文章中,我已經列舉了主要的幾個我從和 python 開發者的對話收集來的 tips,下面的是我能夠添加進去的其他的 tips.
參與 python 的活動和集會
保證參加你能夠參加到的每場活動和集會。他們有益於分享經驗,最佳實踐,工具和其他有趣的話題。
這可能表面上不是一種省事的策略,但是通過建議,提示,破解來學習其他人的經驗是另一種避免重復造輪子的方法。
每年一次的 PyConf 是一個知曉活動的好地方。
紙上思考
紙上思考 —— 在直接深入代碼之前這樣做 —— 將給你進行修改的靈活性。直接就去寫代碼會強迫你從一開始就得去考慮實現的細節, 這在啟動項目時常常不是對你的時間的最佳利用方式。紙上思考這種解放注意力的方式對於頭腦風暴和問題的解決都很有好處!
掌握基礎知識
最後這一條看似很明顯,但一定要投入時間來學習 Python 的基礎知識. 這樣最終會為你節省很多的時間,因為對更加復雜的主題,你會有更好的准備.
一些好書可以對此有所幫助,它們包括:
《學習 Python》
《Python 編程入門》: 介紹Python計算機語言和計算機編程.
通過閱讀博客和文章,保持有關信息的新鮮度也很重要。可以跟進的一個很棒博客是 The Mouse Vs. The Python.