各種編程語言的區(qū)別 既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?
既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?C語言實際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。它之所以古老是因為C語言出現(xiàn)得很早。盡管FORTRAN和COB
既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?
C語言實際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。
它之所以古老是因為C語言出現(xiàn)得很早。
盡管FORTRAN和COBOL比C語言出現(xiàn)得早,但現(xiàn)代主流操作系統(tǒng)(windows、Mac OS、Linux、IOS、Android、Unix)都是從C語言中誕生的。
最根本的原因是C語言被設計用來同時編寫匯編語言。從理論上講,它可以用外匯來表示。匯編語言是最有效的語言。
所以Python是用C語言編寫的也就不足為奇了。它與能否生成exe無關。
Exe文件是Windows平臺的專用格式。最簡單的exe是com可執(zhí)行文件。EXE文件實際上由引導加載程序和解釋器組成。
由Python語言生成的代碼只能通過引導加載程序和解釋器作為EXE文件執(zhí)行。
因此Python生成EXE文件并不困難。只是它是否愿意提供的問題。
python是用C實現(xiàn)的,Java是用C 實現(xiàn)的,那為什么不直接用C或C 呢?
Java和python打包得很好,所以很多東西不需要自己寫,而C必須自己寫很多東西。所以大多數(shù)時候,Java和python比C更容易編寫,就像蓋房子一樣。Java和python給你磚頭。有時他們給你半個房間,可以一起用。C也必須從混合泥漿和燒磚開始。
為什么有些算法崗位,需要用C 而不是python?
C/C是一種相對低級的語言,它可以非常精細地控制CPU/內(nèi)存和其他計算機資源,尤其是硬件。在算法運算最精細的時候使用它們是很自然的。
但它們的優(yōu)點也是缺點。精細的操作自然需要精細的編程,精細的編程自然需要復雜的語言設置,比如什么是指針,什么是指針函數(shù),什么是函數(shù)指針當你理解了這些概念,你可能就沒有編寫代碼的沖動了。更重要的是,如果你想編寫高性能的代碼,你必須精通這些概念
Python的一個非常重要的特性就是所謂的“粘合語言”,也就是說它可以將用不同語言編寫的代碼模塊組合起來,然后通過Python調(diào)用它們。實際上,大多數(shù)算法庫都是用C/C語言編寫的,然后提供Python接口供用戶使用。畢竟,大多數(shù)人只需要知道如何調(diào)用封裝的算法。但是如果你想實現(xiàn)你自己的算法,你必須知道C/C
例如,Python就像一個電視遙控器,C/C就像遙控器中的電路板。通常,如果你想換臺,只需按一下按鈕。但有一天你只需要一個將屏幕旋轉(zhuǎn)90度的功能,遙控器沒有這個功能,但可以通過卸下遙控板,插入幾個組件來實現(xiàn)。你是做什么的?
作為初學者,選擇什么語言取決于自己的基礎和行業(yè)的需要。不同的語言有不同的難度和不同的行業(yè)應用場景,所以選擇要有針對性。!如果你是理工科背景,有扎實的數(shù)學基礎和物理基礎,那么選擇C語言一定是正確的選擇。雖然C語言的學習不是很難,但是與Python相比,它是很難的。
作為計算機專業(yè)的學生,他們應該聽過譚浩強先生的名字,而且大多數(shù)人都讀過譚浩強先生的杰作:C語言編程。據(jù)說這本書是計算機圖書的銷售記錄保持者。
無論如何,這樣一本經(jīng)典的書是值得一讀的。學習C語言的難點在于許多概念需要建立圖感,如內(nèi)存空間的應用、指針操作等。
因此,如果您想從事web開發(fā)、大數(shù)據(jù)、機器學習等領域,學習Python是一個不錯的選擇。目前,我一直在用Python實現(xiàn)機器學習算法,這比Java方便得多。
Python的特點是簡單、清晰和優(yōu)雅。使用過Python的朋友也應該有同樣的感受:Python非常簡單,Python非常慢。
如果你是非理工科專業(yè),如果你想從事Web開發(fā)(非大數(shù)據(jù)和人工智能),如果你想快速掌握一門語言,那么Python一定是個不錯的選擇。使用Python來開發(fā)大數(shù)據(jù)和機器學習需要一定的數(shù)學基礎,其中必須理解線性代數(shù)和概率論。
如果您對Python感興趣,請看一下我在頭版上寫的系列文章。如果你有什么問題,可以和我聯(lián)系。