回覆列表
  • 1 # 機器之心Pro

    現如今,Python 的蹤影可以說是無處不在。簡潔、開源、靈活是這款工具的最大特點。在計算機世界中,Python 的象徵物是蟒蛇,而蟒蛇表徵的恰恰是靈活性。這一切都使得 Python 特別適合於大資料,所以資料分析和挖掘的最佳工具非 Python 莫屬了。但是 Python 並非擅長一切,比如 Java 更多用於工具開發,Matlab 則用於數值計算及矩陣運算。

    目前在資料分析和挖掘演算法方面用的最多的程式語言有:Java、C++、C、Python、R 等等。與其他相比,Python 具有以下優點:

    Pythond vs. Java

    Python更簡潔,Java過於龐大複雜,語法很多

    Python vs. C C++

    Python更容易學習,語法簡單易懂,但他們通常扮演不同的角色,Python是一種指令碼語言,C和C++通常要和底層硬體打交道

    Python vs. R

    R 和 Python 一樣,簡單易上手,相比於 Java、C++、C,投入的時間精力相對少很多。在資料方面,R 和 Python 具有以下共同的優勢:

    Python 和 R 本身在資料分析和資料探勘方面都有比較專業和全面的模組,很多常用的功能,比如矩陣運算、向量運算等都有比較高階的用法,所以使用起來產出比大。

    這兩門語言對於平臺方面適用性比較廣,Linux、Window都可以使用,並且程式碼可移植性還算不錯。對於學數理統計的人來說,應該大多用過 MATLAB 以及 mintab 等工具,Python 和 R 比較貼近這些常用的數學工具,使用起來有種親切感。

    但是相對於 R 語言,Python 的優勢在於兼顧了效率和效能,而且 Python 的可擴充套件性很強,你可以用 Python 開發商業化的產品,但用 R 估計不可能,R 語言做研究還行。所以,Python 在機器學習領域的人用的較多。據我所知,做市場調研、計量經濟學、統計學的人幾乎沒有用Python的。

    以上。所以Python 目前是大資料時代最好的語言。

  • 2 # Atstudy網校

    說回正題,python現在比較火的是用來做資料分析,就是爬蟲技術。難易度也是隨個人的,入門相對比較簡單,支援很多語言。

      當然,還可以用Python搭個框架,實現更適合企業自己的自動化測試,分分鐘高大上~或者更厲害,利用Python編寫測試工具,可以大大的提高工作效率。想象一下你每天忙忙碌碌測試,加班加點一個月用壞兩個滑鼠還沒有人家吃著火鍋唱著歌,站著就把錢賺了的同事乾的活多,你心裡會是什麼感受?老闆會是什麼感受?

      Python可以做測試報告系統,這對於不喜歡繁瑣工作的你是一大福音了吧,自己輕鬆,領導也明白,一舉多得。

      用Python做一個簡單的網站存放一些自己的測試、開發、產品等都放到自己的頁面上自動化操作

      用Python維護伺服器,建立一些監控程式,監控測試環境和線上的介面等~

  • 3 # 狂奔的豆沙包

    昨天剛好寫了篇Python的文章,應該能回答這個問題。具體如下:

    為什麼要說Python

    先說說程式語言,這裡有一些梗,程式設計師之間因為使用不同的程式語言一直都存在著很多鄙視鏈,比如寫彙編的鄙視寫 C 的,寫 C 的鄙視寫 C++的,寫C++的鄙視 寫 C#,寫Java 的鄙視前面所有和C相關的程式設計師,天天寫指令碼的程式設計師又一起鄙視 Java 程式設計師,寫靜態語言的和寫動態語言的相互鄙視,寫前端的和寫後端的相互鄙視,Vim 程式設計師和 Emacs 程式設計師相互鄙視,然後一起鄙視需要使用 IDE 的程式設計師。還有一條最勁爆的,所有其他語言的程式設計師都鄙視 PHP 程式設計師,因為PHP 程式設計師說,PHP 是世界上最好的程式語言。

    說了這麼長長的一條鄙視鏈,只是為了引出今天的重點——Python。同「PHP 是世界上最好的程式語言」一樣舉世無雙的,我們也有一句心法,是Python之父的名言:人生苦短,我用 Python。

    Python功能強大,使用簡單,實現一個功能往往只有一種方法。在我剛畢業工作的時候,就接觸了Python和Perl兩種指令碼語言。這兩種語言也可以說是非常鮮明的對比,在實現一個功能的時候,Perl 會有十八種實現方法,而且Python可能只有一種。Python開發者的哲學就是“用一種方法,最好是隻有一種方法來做一件事”。

    在池老師的文章裡看到過有程式設計師這麼評價Python:

    免費,簡潔,生態好,庫豐富,操心少;之前刷機器學習的題,用 C# 寫了一坨兒。結果人家引個 SciPy 庫,三行程式碼搞定

    這個評價我也是高度贊同。Python的生態環境確實很好,讓你在開發的時候幾乎不用操心太多。

    AI時代的寵兒

    Python有太多的適合機器學習的庫了,而且都可以免費使。比如SciPy 是一個數值計算庫,NumPy 是Python 另一個開源的數值計算擴充套件庫,Pandas是基於 NumPy 的資料分析工具,matplotlib 是圖形繪製庫,最近火熱的 Scikit-learn則是開源的機器學習框架。

    也正因為這樣,在AI時代,Python漸漸地變成了時代的寵兒。不知道如果AI真的這麼一直髮展下去,久而久之,Python會不會變成Excel這樣的工具,人人都會用,事事都可用。

    看看最新出爐的兵器排行榜,Python牢牢的佔據著第4名。

    Python其實不僅在做機器學習上是把好手,還有很多方面都是一流高手。比如有Scrapy這樣優秀的做爬蟲框架,強大的文字處理功能,Djnago這樣出色的Web開發框架,還可以做自動化測試和運維以及資料分析等等。

    所以,我認為無論是已經工作了的同學們或者是還在學校的同學們,多多少少都可以學習一些Python。如果是想要投身機器學習人工智慧懷抱的,更是可以趁早開始了。

    並不是天下無敵,也有自身的不足

    Python自身的不足其實也挺多的。

    首先語法上自成一派,讓很多老手感到不習慣(比如語句結束不需要分號)。

    其次Python 的速度很慢,在不同的任務上比C 語言大約慢數十倍到數千倍不等

    不過最讓人頭疼的是,Python 2 和 Python 3 兩個版本長期並行,各成一派,很多模組需要同時維護兩個不同的版本,給開發者選擇帶來了很多不必要的混亂和麻煩。至於為什麼Python 2 和 Python 3 會長期共存了數年之久,原因很複雜,我也說不清楚。但目前官方表示對 2 的支援到2020年。可能新入坑的同學會很糾結,Python2 的生態庫遠遠大於Python3,那麼應該要學習哪個版本呢?

    我的建議是兩個版本都學,語法上的差別也不是很大,如果非要選擇一個先開始的話,我選Python2。(不要問我為什麼,就是這麼任性)

    圖片來自廖雪峰的Python教程

    如何學習Python

    扯了這麼多,最後一部份放點乾貨,我們聊聊要如何學習Python。就我本人來說,會學Python,完全是機緣巧合,因為剛工作的時候,組裡沒人對Python特別熟,我是被安排自學研究Python,以備日後需要。學著學著,我慢慢的把開發的重心都轉移動Python上面了。

    要開始開發,先要安裝,這裡就不詳細說了,說了你也記不住,macOS自帶就有,其它系統網上搜一下,一大堆。

    有了環境就需要開始學語法了。初學一門新的程式語言的語法時,我會先把賦值、條件判斷和迴圈這三種語句學會了,這時其實基本的操作就都可以做了,然後再去擴充套件一些語言獨特的東西,在Python裡,你可以學習Python需的面向物件是怎麼做的,學一些map,filter, lambda這樣的高階用法。然後估計有個3,5天的時間,就可以開始開發第一個Python應用程式了。

    人生苦短,我用 Python!大家一起加油吧。

  • 4 # 西線學院

      隨著大資料瘋狂的浪潮,新生代的工具Python得到了前所未有的爆發。簡潔、開源是這款工具吸引了眾多粉絲的原因。目前Python最熱的領域,非資料分析和挖掘莫屬了。從以Pandas為代表的資料分析領域開始,便是Python的天下;一邊以實際專案實操,一邊跟著已有的資料學習,再輔以相關的理論知識,勢必將集Python技能於大成。

      在圖靈世界裡,Python被賦予的形象是蟒蛇,而蟒蛇不僅僅是靈活的象徵,更有一招制敵的大殺器。

      Python是一條大蟒蛇,自然算是程式語言中靈活,且有靈性的。

      在現階段的資料體系內,只要你有所瞭解的話,想必你會有個感覺:怎麼處處都有Python的蹤影!其實每一種的計算機程式語言,似乎都有自己成名或適用的領域。比如Java更多用於系統開發,Matlab則用於數值計算及矩陣運算,而Python的自身基因,讓其更符合資料領域的策略分析。

      Python已經成為資料分析領域裡事實上的最常用語言。

      讓我們來看看,Python在資料分析領域的生態圈吧!

      基礎庫

      Numpy:矩陣計算與其它大多數框架的資料處理基礎;

      Scipy:科學計算庫,提供了很多科學計算工具包和演算法;

      Matplotlab:專業畫圖工具,話說這個單詞還是真是在Matlab之間插入了plot這個詞形成的;

      Pandas:提供類似於R語言的DataFrame操作,非常方便;

      機器學習與深度學習

      OpenCV:提供影象識別的很多方便的操作;

      Orange:基於圖形介面的機器學習程式,也可以用Python指令碼來操作呼叫;

      Scikit-Learn:前面說了,這是Python在機器學習領域裡面的代表作。尤其是它的文件,完全可以當成機器學習的參考資料來閱讀了,曾經我向朋友推薦的時候說,說過,把scikit-learn的文件當成佛經來讀,假以時日,功力定會大增。

      Theano:深度學習裡面非常有名的一個框架了,也非常具有代表性。是其它很多框架的基礎。

      Keras:基於Theano進行了抽象,建議入門的話使用這個,搭積木一樣地就可以弄個神經網路出來了。

      NLTK:自然語言處理,提供的功能也很強大。

      對於想入門資料分析、資料探勘、機器學習的朋友來說,Python是你值得花時間的選擇。

  • 5 # 暖暖的胖神

    程式語言部分好壞,只是看使用者如何!所以不要認為哪種語言用的都,哪種就好!但是相比其他語言而言,我們探碼公司用的就是Python語言,因為我們老闆覺得,Python語言,程式設計師用起來會比較搞笑一點,愉快一點而已。

  • 6 # MERRU

    任何時候都沒有最好的語言,沒有一統江湖的語言,只有最合適的語言。Python確實很簡單,方便,用了簡直不想再用Java了。大資料分析,Python不錯,工具開發還是得Java

  • 中秋節和大豐收的關聯?
  • 魯肅在赤壁之戰中功勞大嗎?