Python和Golang的特點

2022-06-25 14:24:14 字數 499 閱讀 7385

python:

解釋型語言,程式設計師不需要再執行前編譯,再執行時才翻譯,這樣解釋型語言每執行一次就要翻譯一次,效率較低

動態資料型,支援過載運算子,也支援泛型設計,(運算子過載,就是對已有的運算子進行重新定義,賦予其中的另一種功能,以適應不同的資料型別,正規化設計就是定義的時候不需要制定型別,在客戶端使用的時候時候再去指定型別)

物件導向語言,函式,模組,數字,字串都是物件,在python中一切接物件,完全支援整合,過載,多重整合

社群提供大量第三方庫

golang

靜態強型別,編譯型,並髮型,靜態語言但是有動態語言的感覺,可以直接編譯成機器碼,不依賴於其他庫,語言層面支援併發,這是go最大的特色。go的基因裡面支援併發,可以充分利用多核,很容易使用併發

支援物件導向程式設計,有介面型別和實現型別的概念,但是用的是嵌入替代了整合

豐富的標準庫

內嵌c支援,go裡面也可以直接包含c的**

golang和python互相呼叫

python3 ctypes golang cgo 綜述golang和python之間,當前可以通過golang的cgo和python的ctypes,把golang物件和python物件分別轉換為c物件,從而通過編譯和呼叫c的動態連線庫,完成互動。python呼叫golang go 函式實現 pac...

python 迪克斯特拉(Dijkstra)

從起點到終點的路徑如上圖所示,每條路徑的長度都不相同 權重 如何從起點找到一條路徑,長度最短?建模 graph儲存了整張圖的結構 costs儲存了從起點開始,到每個點的最短距離 從起點到a是6,但是從 起點 b a 是5,所以後面a的路徑其實會變成5 parents記錄了每個地點的父節點,譬如開始時...

golang呼叫python實戰

go python python提供了豐富的c api。而c和go又可以通過cgo無縫整合。所以,直接通過golang呼叫libpython,就可以實現go調python的功能了。但是過程比較複雜,而go python提供了針對cpython 2的c api提供了native binding能力,方...