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

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
