python適合人工智能的理由和優(yōu)勢
Python借助AI和數(shù)據(jù)科學,目前已經(jīng)攀爬到了編程語言生態(tài)鏈的頂級位置,可以說Python基本上與AI已經(jīng)緊密捆綁在了一起了。為什么人工智能開發(fā)要使用到python語言?小編認為基于以下幾個原因:
簡潔高效
Python作為一門編程語言,對于程序員來說,想要從事AI和機器學習相關的工作,Python是再合適不過的選擇。簡潔優(yōu)美、開發(fā)效率高,Python語言已經(jīng)得到了越來越多公司的青睞,很多公司都開始選用Python進行網(wǎng)站W(wǎng)eb、搜索引擎、云計算、大數(shù)據(jù)、人工智能、科學計算等方向的開發(fā)。
可移植性強
Python希望看到一個更加優(yōu)秀的人創(chuàng)造并經(jīng)常改進。由于它的開源本質(zhì),Python已經(jīng)被移植在許多平臺上。如果你小心地避免使用依賴于系統(tǒng)的特性,那么你的所有Python程序無需修改就可以在下述任何平臺上面運行。
龐大的標準庫
Python既支持面向過程的函數(shù)編程也支持面向?qū)ο蟮某橄缶幊?。在面向過程的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構建起來的。在面向?qū)ο蟮恼Z言中,程序是由數(shù)據(jù)和功能組合而成的對象構建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現(xiàn)面向?qū)ο缶幊?,標準庫確實很龐大。
有的語言過于依賴背后金主的商業(yè)支持,好的時候風光無限,一旦被打入冷宮,連生存下去都成問題。更多的語言,剛剛取得一點成功,就迫不及待的想成為全能冠軍,在各個方向上拼命的伸展觸角,特別是在增強表達能力和提升性能方面經(jīng)常過分積極,不惜將核心語言改得面目全非,終將變成誰都無法掌控的龐然大物。
相比之下,Python 是現(xiàn)代編程語言設計和演化當中的一個成功典范。Python之所以在戰(zhàn)略定位上如此清晰,戰(zhàn)略堅持上如此堅定,歸根結底是因為其社區(qū)構建了一個堪稱典范的決策和治理機制。因此穩(wěn)坐人工智能語言頭把交椅Python也是實至名歸。
網(wǎng)友觀點:
為什么人工智能用Python
這屬于一種誤解,人工智能的核心算法是完全依賴于C/C++的,因為是計算密集型,需要非常精細的優(yōu)化,還需要GPU、專用硬件之類的接口,這些都只有C/C++能做到。所以某種意義上其實C/C++才是人工智能領域最重要的語言。
Python是這些庫的API binding,使用Python是因為CPython的膠水語言特性,要開發(fā)一個其他語言到C/C++的跨語言接口,Python是最容易的,比其他語言的ffi門檻要低不少,尤其是使用Cython的時候。其他語言的ffi許多都只能導入C的函數(shù)入口點,復雜的數(shù)據(jù)結構大多只能手工用byte數(shù)組拼起來,如果還需要回調(diào)函數(shù)輸入那就無計可施了。而CPython的C API是雙向融合的,可以直接對外暴露封裝過的Python對象,還可以允許用戶通過繼承這些自定義對象來引入新特性,甚至可以從C代碼當中再調(diào)用Python的函數(shù)(當然,也有一定的條件限制)。不過這也是PyPy這樣的JIT解釋器的一個障礙。
而且Python歷史上也一直都是科學計算和數(shù)據(jù)分析的重要工具,有numpy這樣的底子,因為行業(yè)近似所以選擇API binding語言的時候會首選Python,同時復用numpy這樣的基礎庫既減少了開發(fā)工作量,也方便從業(yè)人員上手。
相關文章
詳解Django+Uwsgi+Nginx的生產(chǎn)環(huán)境部署
這篇文章主要介紹了Django + Uwsgi + Nginx 的生產(chǎn)環(huán)境部署,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06