這屬於一種誤解,人工智慧的核心演算法是完全依賴C/C 的,因為是計算密集型,需要非常精細的優化,還需要GPU、專用硬件之類的接口,這些都只有C/C 能做到。所以某種意義上其實C/C 才是人工智慧領域最重要的語言。
Python是這些庫的API binding,使用Python是因為CPython的膠水語言特性,要開發一個其他語言到C/C 的跨語言接口,Python是最容易的,比其他語言的ffi門檻要低不少,尤其是使用Cython的時候。其他語言的ffi許多都只能導入C的函數入口點,複雜的資料結構大多只能手工用byte數組拼起來,如果還需要回調函數輸入那就無計可施了。而CPython的C API是雙向融合的,可以直接對外暴露封裝過的Python對象,還可以允許用戶透過繼承這些自訂對象來引入新特性,甚至可以從C程式碼當中再呼叫Python的函數(當然,也有一定的條件限制)。不過這也是PyPy這樣的JIT解譯器的障礙。
而且Python歷史上也一直都是科學計算和數據分析的重要工具,有numpy這樣的底子,因為行業近似所以選擇API binding語言的時候會首選Python,同時復用numpy這樣的基礎庫既減少了開發工作量,也方便從業人員上手。
相關教學推薦:Python影片教學
#以上是人工智慧為什麼用python的詳細內容。更多資訊請關注PHP中文網其他相關文章!