-
1 # 雲智時代
-
2 # 葉猛獁
從三個方面來答:程式設計效率,程式設計體驗,解決難題。
提高程式設計效率的工具有不少,其中最重要的就是其他人已經開發好的庫。多google多去stackoverflow提問,逛逛github,看到好用的程式碼片段放到Dash裡存起來,選一個好用的程式碼編輯器,無論是Sublime Text、Atom還是VIM,找到一個自己喜歡的就一直用下去,配置到最符合自己使用習慣的程度。
改善程式設計體驗的產品就要從身體健康愉悅的角度考慮了。人體工程學椅子能讓你不那麼容易疲勞,也不容易有頸椎腰椎問題;一個大屏顯示器豎起來,或者配雙顯示器,都能有效提升編碼效率。選一塊自己喜歡的鍵盤,無論是機械鍵盤還是靜電電容鍵盤,都能在編碼時更有愉悅感,一幅降噪靜音好耳機能讓你不那麼容易分心。
碰到難題是難免的,不過你碰到的問題很大機率別人已經曾經碰到過而且解決掉了。stackoverflow這樣的程式設計師問答社群、Github這樣的開源社群可能能找到答案,或者直接用關鍵詞去Google。
每個程式設計師的工作習慣都不一樣,但是要做一個出色的程式設計師,工作流程和方法都是差不多的。多寫多練多問,想方設法提高效率,用更好讓自己更愉悅的裝備。心情好了身體好了工作才能好,這是顛撲不破的真理。
-
3 # 羅偉航76976475
看你要運用於哪方面的技術!
爬蟲方面的話有簡單的如spider,beautifulsoup等等;
資料分析方面的話有numpy,pandas和dataframe等;
機器學習方面的話有更多,如Shogun,Keras,Scikit-Learn等等;
還有各方各面的工具可以運用於很多技術。
-
4 # 千鋒頭號粉絲
5款Python程式設計師高頻使用開發工具推薦
很多Python學習者想必都會有如下感悟:最開始學習Python的時候,因為沒有去探索好用的工具,吃了很多苦頭。後來工作中深刻體會到,合理使用開發的工具的便利和高效。今天,我就把Python程式設計師使用頻率比較高的5款開發工具推薦給大家,希望對大家的工作和學習有幫助。
一、最強終端:Upterm本來想推薦 fish 或者 zsh,但其實這兩個我也主要是貪圖自動補全這個特性。最近在用的這個 Upterm 其實很簡單好用,它是一個全平臺的終端,可以說是終端裡的 IDE,有著強大的自動補全功能。之前的名字叫 BlackWindow,有人跟他說這個名字不利於社群推廣,改名叫 Upterm 之後現在已經17000+ Star了。
二、互動式直譯器:Ptpython
一個互動式的 Python 直譯器。支援語法高亮、提示甚至是 vim 和 emacs 的鍵入模式。其實我們在課程裡提供的線上終端也內建了 ptpython。
三、包管理必備:Anaconda強烈推薦Anaconda ,它能幫你安裝好許多麻煩的東西,包括: Python 環境、pip 包管理工具、常用的庫、配置好環境路徑等等。這些事情小白自己一個個去做的話,容易遇到各種問題,帶來挫敗感。如果你想用Python搞資料方面的事情,就安裝它就好了,它甚至開發了一套JIT的直譯器Numba。所以 Anaconda有了JIT之後,對線上科學計算效率要求比較高的東西也可以搞了。
四、編輯器:Sublime3小白的話當然還是推薦從PyCharm開始上手,但有時候寫一些輕量的小指令碼,就會想用輕量級一點的工具。Sublime3很多地方都有了極大的提升,並且用起來比原來還要簡單。配合安裝Anaconda或CodeIntel外掛,可以讓 Sublime擁有近乎IDE的體驗。
五、前端線上編輯器:CodeSandbox雖然這個不算是真正意義上的Python開發工具,但如果後端工程師想寫前端的話,這個線上編輯器太方便了,簡直是節省了後端工程師的生命啊!不用安裝npm的幾千個包了,它已經在雲端完成了,採讓你直接就可以上手寫程式碼、看效果。對於 React、Vue 這些主流前端框架都支援。算是一個推薦補充吧。
-
5 # 軟體開發與運維
在個人使用Python的過程中值得推薦的工具(包括但不限於開發工具):
IDE:PyCharm,jetbrains家的IDE個個好使
REPL:ipython
編輯器:vim + YouCompleteMe外掛
網路請求:requests網頁解析:BeautifulSoup,lxml,html5lib
繪圖:Pygal更易用,matplotlib功能強大
網路爬蟲:scrapy很易用,不過個人更喜歡裸寫爬蟲
回覆列表
在人工智慧和資料科學領域,Python是最受歡迎的語言之一,近年來更是發展迅猛,也是各大程式語言榜單中的香餑餑。無疑,2018年將是人工智慧和機器學習大熱的一年。同時,機器學習對使用者而言傾向於具有Python的風格,因為它比Java更加友好。在資料科學方面,Python的語法與數學語法最為接近,因此成為了數學家或經濟學家等專業人士最容易理解和學習的語言。
機器學習工具Shogun
Shogun是一個開源的機器學習工具箱,專注於支援向量機(SVM),它是用C ++編寫的,它是1999年建立的最古老的機器學習工具之一!它提供了廣泛的統一機器學習方法,其建立背後的目標是為機器學習提供透明和可訪問的演算法,併為任何對此領域感興趣的人提供免費的機器學習工具。
Shogun提供了一個記錄完備的Python介面,主要用於統一的大規模學習,並提供高效能的速度。但是,有些人發現它的API很難使用。
Keras
Keras是一個高階神經網路API,提供了一個Python深度學習庫。對於任何初學者來說,這是機器學習的最佳選擇,因為與其他庫相比,它提供了一種表達神經網路的更簡單的方法。Keras是用Python編寫的,能夠在TensorFlow,CNTK或Theano等流行的神經網路框架之上執行。
Scikit-Learn
這是一個用於資料探勘和資料分析的開源工具。它也適用於資料科學。Scikit-Learn提供了一致且易於使用的API以及網格和隨機搜尋。其主要優勢之一是其在玩具資料集上執行不同基準的速度。Scikit-Learn的主要功能包括分類,迴歸,聚類,降維,模型選擇和預處理。
Pattern
Pattern是一個Web挖掘模組,為資料探勘,自然語言處理,機器學習,網路分析和<canvas>視覺化提供工具。它還附帶完善的文件和超過50個示例以及超過350個單元測試。最重要的是,它是免費的!
Theano
可以說是最成熟的Python深度學習庫之一,Theano的主要功能包括與NumPy緊密整合,透明使用GPU,高效的符號差異化,速度和穩定性最佳化,動態C程式碼生成以及廣泛的單元測試和自我驗證。
它提供了定義,最佳化和評估數學表示式的工具,並且可以在Theano上構建大量其他庫,以探索其資料結構。儘管如此,與Theano合作時還是有一些缺點的;它的API可能會增加一些學習曲線,而另一些人則認為Theano由於無法適應生產環境而不像其他庫那樣高效。
資料科學工具SciPy
這是一個基於Python的數學,科學和工程開源軟體生態系統。SciPy使用NumPy,IPython或Pandas等各種軟體包為常用的數學和科學程式設計任務提供庫。當你想操縱計算機上的數字並顯示或釋出結果時,此工具是一個很好的選擇,並且它也是免費的。
Dask
Dask是一款透過整合到其他社群專案(如NumPy,Pandas和Scikit-Learn)為分析提供並行性的工具。同樣,透過更改只有幾行程式碼,可以快速對現有程式碼進行並行處理,因為它的DataFrame與Pandas庫中的相同,它的Array物件的工作方式類似於NumPy能夠並行化以純Python編寫的作業。
Numba
此工具是一種開源最佳化編譯器,它使用LLVM編譯器基礎結構將Python語法編譯為機器碼。在資料科學應用中與Numba一起工作的主要優勢在於它使用NumPy陣列程式碼的速度,因為Numba是一個支援NumPy的編譯器。就像Scikit-Learn一樣,Numba也適用於機器學習應用,因為它的加速可以在特別為機器學習或資料科學應用程式構建的硬體上執行得更快。
HPAT
高效能分析工具包(HPAT)是一個基於編譯器的大資料框架。它可以自動將Python中的分析/機器學習程式碼擴充套件到裸機叢集/雲效能,並可以使用@jit裝飾器最佳化特定功能。
Cython
使用數學密碼或密碼迴圈執行的程式碼時,Cython是你的最佳選擇。Cython是一款基於Pyrex的原始碼翻譯器,可讓你輕鬆編寫Python的C擴充套件。更重要的是,透過增加對與IPython / Jupyter筆記本整合的支援,與Cython一起編譯的程式碼可以透過內聯註釋在Jupyter筆記本中使用,就像任何其他Python程式碼一樣。