Python的全面生態
python的數據生態覆蓋廣泛并在持續擴展。從支持TensorFlow運行Keras的Python封裝,到諸如scikit-learn和NumPy的機器學習庫,從面向Spark和Dask集群的Python接口,到利用Jupyternotebooks或者Pandas進行代碼測試,數據科學家和工程師可以在熟悉的Python語法下做任何事。
Python的靈活性,是一家位于華盛頓特區的企業最看重的,他們使用Python開發數據pipeline工具。其CTOChrisWhite認為,對他們來說Python就是完美的工具。
“從更高層次上看,我們的設計敏感度,就是既有合理的默認設置也可以深度配置,這樣在有需要的時候可以快速的運行起來,在想深入細化的時候也可以做到深入細化,”ChrisWhite表示,“Python幫助我們實現了這一目標,因為說到底Python是一種非常靈活的語言。你不需要知道‘編譯是什么’之類的事,你就可以直接寫出一段腳本。”
一切都可以回到vanRossum為Python設計的風格,就是要簡單不要復雜。歸功于其即時可讀性,Python的入門門檻極低。這使得無論是初級碼農還是資深程序員都可以一樣的使用Python。
“Python是我了解的不多的幾種可以寫原始腳本的語言之一。你不需要懂太多就可以可以直接運行它,”ChrisWhite說,“所以Python非常易用。當然你也可以做其他事,比如用C寫擴展之類。”
靈活與性能
與C語言相比,性能并不是Python的強項,這是為了即時的靈活性和易用性而做的一個折中。還好有C擴展,提供了實現更高性能的路徑。但是在很多情況下,高性能并不是必須的。
“對于實時處理之類的極端需求,有很多其他編程語言比Python要快得多,”ChrisWhite表示。“但是對于人們平常所處理的90%數據,都無需這樣的高速度。”
Python的另一大劣勢是類型安全性。Python是強類型語言,這也是被一些人所詬病的。但人們已經開始意識到,這并沒有想象中那么嚴重,ChrisWhite說。
“人們一開始對很多事情都有抱怨,諸如速度和類型安全,現在態度也緩和了一些。可能在人們的部分應用中這并不是什么大事,”他說,“不支持數據的類型檢查,確實是個問題,因為大部分數據是非結構化的。但是Python至少開始迭代并去解決了,而其他語言可能很早就迫使你另做打算。”
開發速度是Python的一大加分項。因為它的易用性,開發者可以輕松攢出點什么,而不需要非得做成大型項目。Python的這種隨意性在Juypter中表現的淋漓盡致,就算代碼并不嚴謹,你也可以在瀏覽器中直接運行。
能力放大器
如果使用得當,Python就可以成為能力放大器,提供先進的數據工程和數據科學能力,如果使用C或Java,你得成為相關專家才能做到。ChrisWhite舉例說明,他們的一個客戶使用了基于Python的工具來編排頗為復雜的數據工作流。
“這位客戶提到,他并不是專業的軟件工程師,但也可以寫出他認為高度魯棒、容錯的批處理工作流,并且部署在Kubernetes中,”ChrisWhite講到。“他說,他并不需要完全弄懂那些代碼的含義,只要借助相應的工具就能把事做成。”
Python降低了應用門檻,在Python的靈活性和熱情的用戶社區的幫助下,誰都可以寫出會被DevOps工程師欣然接受的高質量代碼。
“Python讓你能夠快速搞定事情,”Hendryx-Parker表示。“而且,如果有單元測試或CI/CD部署等其他各種相關需求時,Python也提供了可以輕松轉換為完整軟件項目的附加能力。”
開源社區
Hendryx-Parker認為,為Python提供又一大加持的是基于其構建的開源社區。Hendryx-Parker已經參加了PythonConference近20年,并且創立了當地的Python用戶社群。
“我們的社群成員都非常優秀,他們也開放歡迎其他優秀人才加入并成為社區一員,這對技術人來說并不那么容易。”
Python有數千個add-ons、addition和integration,絕大部分都是開源的,但其中也有一些維護的并不好。這就導致有時候難免會遭遇到過時或壞掉的Python包,Hendryx-Parker說。
反過來說,如果遇到有用但疏于維護的庫,其實也為Python用戶提供了一個機會,通過自愿幫助維護這些代碼來回饋社區。
“當我們的客戶遇到這樣的情況,我們也會勸說他們,允許我們在預算范圍內花些時間來改進這些開源項目,”Hendryx-Parker說。“我認為這總體來說是好事,是三贏。如果他們能拿到預算,他們知道他們也需要在供應鏈中獲得這樣的能力,就很容易接受了。”
與文檔充分的R生態相比,Python生態稍顯無序,這就是有利就有弊,ChrisWhite說。
“R確實很強的吸引力,因為它感覺更像是一個標準。R的軟件包都在同一個‘宇宙’中,可以很好的協作,我想這就是吸引人們使用R的原因,”他說。“Python更像是野生派,你差不多可以做任何事,但沒有Tidyverse那樣嚴格標準化的一整套R包。”
而另一方面,Python擁有如此巨大而開放的社區,用戶有大量的支持資源。“社區中有非常多的優質資料,你總能快速找到所需的解答,”ChrisWhite說。“不過答案并不是現成的,我們確實還需要專門去查找。”
Python擁有光明的未來。它已經處于或者接近每個人心目中的數據科學和數據工程所需技能之首。如果保持現在的勢頭,Python看上去肯定會繼續增長,直到其他競爭者把它擠下巔峰。
以上內容為大家介紹了python的生態和優勢,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.dietsnews.net/