Python和Go語言都這么火,哪個更適合你型奥?

在本文中瞳收,我們探討了 Python 和 Go 這兩種世界上最流行的編程語言的差異、相似之處和用例厢汹。 從對兩者的快速比較開始螟深,然后看看它們在可讀性、速度烫葬、易學(xué)性等方面如何疊加界弧。

Python 和 Go 不同,通常用于不同的目的搭综。 Python 是數(shù)據(jù)科學(xué)家的主要語言垢箕,其中 Go 是服務(wù)器端命令的語言。 Go 是用于運行軟件的語言兑巾。 它是更快的語言条获,以 Java 和 C++ 速度執(zhí)行。

image

Python 是用于編寫可讀蒋歌、可共享代碼的語言——因此圍繞它的大型社區(qū)帅掘。

從技術(shù)上講委煤,Go 是一種為速度而構(gòu)建的過程式函數(shù)式語言,而 Python 是一種面向?qū)ο笮薜怠⒚钍奖探省⒑瘮?shù)式和過程式語言。 Go 支持并發(fā)吱窝,即算法能夠無序運行其步驟讥邻,而 Python 不支持。

image

簡而言之院峡,如果你正在處理數(shù)據(jù)并且受眾是人兴使,請使用 Python。 如果你正在使用服務(wù)器撕予,請使用 Go鲫惶。

Python 編程語言

Python 于 1991 年首次發(fā)布。 由 Guido van Rossum 設(shè)計实抡,Python 的設(shè)計理念以代碼可讀性為中心欠母。

Python 是一種解釋性的、高級的吆寨、通用的編程語言赏淌。 它是面向?qū)ο蟮摹S捎谄湓O(shè)計側(cè)重于可讀性啄清,Python 社區(qū)將根據(jù)代碼的 Pythonic 程度對彼此的代碼進(jìn)行評分六水。 由于其可讀性,Python 非常適合:

  • 學(xué)習(xí)編程
  • 快速收集想法
  • 與他人共享代碼

Go 編程語言

Go 是 Golang 的縮寫辣卒,Go 最初由 Robert Griesemer掷贾、Rob Pike 和 Ken Thompson 于 2007 年在 Google 設(shè)計。

image

Go 是一種靜態(tài)類型的編譯型編程語言荣茫,由 Google 開源并維護(hù)想帅。 Go 是 C 系列編程語言的一部分,它使用垃圾收集器來處理內(nèi)存泄漏啡莉。 在設(shè)計 Golang 時港准,它的創(chuàng)建者想要改進(jìn)已經(jīng)存在的東西,其中之一就是可讀性咧欣。

1浅缸、可讀性

不可讀代碼的基本標(biāo)準(zhǔn)是 Java 和 C++。 Python 和 Go 都希望改進(jìn)它們魄咕。 Go 做了一些改變衩椒。 與 Python 類似,Go 取消了:

  • 行尾的冒號
  • 括號和圓括號的使用。

如果熟悉 C 級語言毛萌,那么這應(yīng)該看起來很熟悉:

Go 代碼示例:

package main

import "fmt"

func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return
}

func main() {
    fmt.Println(split(17))
}

返回: 7 10

Python 代碼示例 (非-Pythonic):

even_numbers = []

for number in range(10):
 if number % 2 == 0:
    even_numbers.append(number)

print(even_numbers)

Python 代碼示例 (Pythonic):

even_numbers = [ x for x in range(10) if x % 2 == 0]
print(even_numbers)

返回:

[0, 2, 4, 6, 8]

2梢什、錯誤處理

大多數(shù) IDE 將幫助在編寫 Python 代碼時發(fā)現(xiàn)錯誤。與 Python 不同朝聋,Go 沒有錯誤處理。它是為已經(jīng)知道如何編碼的人而構(gòu)建的囤躁。雖然更易于閱讀和鍵入冀痕,但其簡單性的代價是為代碼中的錯誤留下了更大的空間,這意味著將花費更多時間調(diào)試代碼狸演。

3言蛇、速度

說到速度,Go 很快宵距。Go 的本意是速度快腊尚,但這并不是 Python 的唯一目標(biāo)。在大多數(shù)基準(zhǔn)測試中满哪,Go 遠(yuǎn)遠(yuǎn)超過 Python婿斥。Go 甚至超過了 Java 的速度,人們普遍認(rèn)為 Java 比 Python 快得多哨鸭。如果歸結(jié)為需要一個程序來快速加載軟件民宿,那么 Go 就是 Go 的選擇。

image

4像鸡、庫

Python 比 Go 早 16 年活鹰,因此圍繞它建立了一個更大的社區(qū)。在該社區(qū)中只估,它對面向所有類型的 Stack Overflow 提供了大量支持:初學(xué)者志群、課程、教程和操作指南蛔钙,以及最終的 Python 庫锌云。 很可能,永遠(yuǎn)不必在 Python 中從頭開始夸楣。

Python 庫尤其龐大宾抓。 他們可以讓任何編寫代碼的人在第一天做他們想做的事。 使用 Pandas 可以輕松探索數(shù)據(jù)表豫喧,使用 TensorFlow 和 PyTorch 可以輕松進(jìn)行機(jī)器學(xué)習(xí)石洗。

Go 不提供這種支持。你必須編寫自己的所有腳本來搜索數(shù)據(jù)表紧显。在 Go 中開發(fā)機(jī)器學(xué)習(xí)將是一項巨大的努力讲衫。(頂級 Go 庫都與服務(wù)器維護(hù)有關(guān))

5、共享

與 Jupyter notebook 共享可執(zhí)行的 Python 代碼是數(shù)據(jù)科學(xué)世界中常見的工作流工具之一。 Jupyter Notebooks 和 Google Colab Notebooks 允許 Python 用戶在非常交互式的閱讀和編寫體驗中閱讀和執(zhí)行代碼涉兽。

在 Go 中共享和顯示這些類型的圖表將很難啟動和運行招驴。

image
image

6、簡單易學(xué)

編程語言被設(shè)計得更好枷畏、更智能别厘。任何代碼的可讀性使其易于學(xué)習(xí)。在編程世界中拥诡,公認(rèn)的事實是**触趴,如果你學(xué)習(xí)一種語言,你就可以學(xué)習(xí)任何其他語言——你只需要深入研究渴肉。**

討論差異只對挑剔的人和已經(jīng)可以用一種語言讀寫的人有意義冗懦。從某種意義上說,這些差異并不重要仇祭,應(yīng)該涉及一個人開始編程的選擇披蕉。相反,這些差異僅在選擇最適合執(zhí)行功能的語言時才重要乌奇。

結(jié)語:選 Go 還是 Python没讲?

Go 和 Python 都易于使用和學(xué)習(xí)。Go 真的很快礁苗。 Python 有大量的社區(qū)支持食零。

目前,在 Go 的開發(fā)中寂屏,Go 主要用于服務(wù)器端應(yīng)用程序贰谣。Python 是數(shù)據(jù)科學(xué)家的首選語言,而且很可能會持續(xù)很長時間迁霎。所有 ML 庫開發(fā)人員都在投入時間為 Python 開發(fā)庫吱抚。Go 可能會及時到達(dá)那里,但就目前而言考廉,程序員的工具包中有兩種語言的空間秘豹。

image

TSINGSEE 青犀視頻研發(fā)人員在做平臺開發(fā)時,在智能分析方面用 Python 編譯會比較多昌粤,在部分基層調(diào)用能力上則采用 Golang 比較多既绕。大家可以根據(jù)自身的需求來選擇初始學(xué)習(xí)的語言,也可以通過我們的開源項目 EasyDarwin 來進(jìn)行測試涮坐。

我們在人工智能技術(shù)+視頻領(lǐng)域凄贩,將AI檢測、智能識別技術(shù)融合到各個視頻應(yīng)用場景中袱讹,如:安防監(jiān)控疲扎、視頻中的人臉檢測、人流量統(tǒng)計、危險行為(攀高椒丧、摔倒壹甥、推搡等)檢測識別等。典型的示例如EasyCVR視頻融合云服務(wù)壶熏,具有AI人臉識別句柠、車牌識別、語音對講棒假、云臺控制俄占、聲光告警、監(jiān)控視頻分析與數(shù)據(jù)匯總的能力淆衷。

當(dāng)然,也有網(wǎng)友認(rèn)為:作為一種編程語言渤弛,Golang 勝過 Python祝拯。 Go 在大多數(shù)情況下絕對占上風(fēng),它可能沒有 Python 多年來獲得的名氣和互聯(lián)網(wǎng)的擴(kuò)張她肯,但 Go 肯定也在這方面迎頭趕上佳头。歡迎在評論區(qū)和我們討論。

本文轉(zhuǎn)自 https://juejin.cn/post/7020319356944908325晴氨,如有侵權(quán)康嘉,請聯(lián)系刪除。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末籽前,一起剝皮案震驚了整個濱河市亭珍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌枝哄,老刑警劉巖肄梨,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挠锥,居然都是意外死亡众羡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門蓖租,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粱侣,“玉大人,你說我怎么就攤上這事蓖宦∑胗ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵稠茂,是天一觀的道長尔店。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么嚣州? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任鲫售,我火速辦了婚禮,結(jié)果婚禮上该肴,老公的妹妹穿的比我還像新娘情竹。我一直安慰自己,他們只是感情好匀哄,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布秦效。 她就那樣靜靜地躺著,像睡著了一般涎嚼。 火紅的嫁衣襯著肌膚如雪阱州。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天法梯,我揣著相機(jī)與錄音苔货,去河邊找鬼。 笑死立哑,一個胖子當(dāng)著我的面吹牛夜惭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播铛绰,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼诈茧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了捂掰?” 一聲冷哼從身側(cè)響起敢会,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎这嚣,沒想到半個月后走触,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡疤苹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年互广,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卧土。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡惫皱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出尤莺,到底是詐尸還是另有隱情旅敷,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布颤霎,位于F島的核電站媳谁,受9級特大地震影響涂滴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜晴音,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一柔纵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锤躁,春花似錦搁料、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至椒振,卻和暖如春昭伸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背澎迎。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工庐杨, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嗡善。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像学歧,于是被迫代替她去往敵國和親罩引。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容