Python 簡介

標籤: 

該主題包含 1 則回覆,有 1 個參與人,並且由  FrankDJWu6 年, 10 月 前 最後更新。

正在檢視 2 篇文章 - 1 至 2 (共計 2 篇)
  • 作者
    文章
  • #1122

    FrankDJWu
    參與者

    Python是著名的Guido van Rossum在1989年耶誕節期間,為了打發無聊的耶誕節而編寫的一個程式設計語言。
    現在,全世界差不多有600多種程式設計語言,但流行的程式設計語言也就那麼20來種。如果你聽說過TIOBE排行榜,你就能知道程式設計語言的大致流行程度。這是最近10年最常用的10種程式設計語言的變化圖:

    總的來說,這幾種程式設計語言各有千秋。C語言是可以用來編寫作業系統的貼近硬體的語言,所以,C語言適合開發那些追求運行速度、充分發揮硬體性能的程式。而Python是用來編寫應用程式的高級程式設計語言。

    當你用一種語言開始作真正的軟體發展時,你除了編寫代碼外,還需要很多基本的已經寫好的現成的東西,來説明你加快開發進度。比如說,要編寫一個電子郵件用戶端,如果先從最底層開始編寫網路通訊協定相關的代碼,那估計一年半載也開發不出來。高級程式設計語言通常都會提供一個比較完善的基礎代碼庫,讓你能直接調用,比如,針對電子郵件協定的SMTP庫,針對桌面環境的GUI庫,在這些已有的代碼庫的基礎上開發,一個電子郵件用戶端幾天就能開發出來。

    Python就為我們提供了非常完善的基礎代碼庫,覆蓋了網路、檔、GUI、資料庫、文本等大量內容,被形象地稱作“內置電池(batteries included)”。用Python開發,許多功能不必從零編寫,直接使用現成的即可。
    除了內置的庫外,Python還有大量的協力廠商庫,也就是別人開發的,供你直接使用的東西。當然,如果你開發的代碼通過很好的封裝,也可以作為協力廠商庫給別人使用。

    許多大型網站就是用Python開發的,例如YouTube、Instagram,還有國內的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。

    龜叔給Python的定位是“優雅”、“明確”、“簡單”,所以Python程式看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常複雜的程式。

    總的來說,Python的哲學就是簡單優雅,儘量寫容易看明白的代碼,儘量寫少的代碼。如果一個資深程式師向你炫耀他寫的晦澀難懂、動不動就幾萬行的代碼,你可以盡情地嘲笑他。

    那Python適合開發哪些類型的應用呢?

    首選是網路應用,包括網站、後臺服務等等;
    其次是許多日常需要的小工具,包括系統管理員需要的腳本任務等等;
    另外就是把其他語言開發的程式再包裝起來,方便使用。
    最後說說Python的缺點。

    任何程式設計語言都有缺點,Python也不例外。優點說過了,那Python有哪些缺點呢?
    第一個缺點就是運行速度慢,和C程式相比非常慢,因為Python是解釋型語言,你的代碼在執行時會一行一行地翻譯成CPU能理解的機器碼,這個翻譯過程非常耗時,所以很慢。而C程式是運行前直接編譯成CPU能執行的機器碼,所以非常快。

    但是大量的應用程式不需要這麼快的運行速度,因為使用者根本感覺不出來。例如開發一個下載MP3的網路應用程式,C程式的執行時間需要0.001秒,而Python程式的執行時間需要0.1秒,慢了100倍,但由於網路更慢,需要等待1秒,你想,用戶能感覺到1.001秒和1.1秒的區別嗎?這就好比F1賽車和普通的計程車在北京三環路上行駛的道理一樣,雖然F1賽車理論時速高達400公里,但由於三環路堵車的時速只有20公里,因此,作為乘客,你感覺的時速永遠是20公里。

    第二個缺點就是代碼不能加密。如果要發佈你的Python程式,實際上就是發佈原始程式碼,這一點跟C語言不同,C語言不用發佈原始程式碼,只需要把編譯後的機器碼(也就是你在Windows上常見的xxx.exe檔)發佈出去。要從機器碼反推出C代碼是不可能的,所以,凡是編譯型的語言,都沒有這個問題,而解釋型的語言,則必須把源碼發佈出去。

    這個缺點僅限於你要編寫的軟體需要賣給別人掙錢的時候。好消息是目前的互聯網時代,靠賣軟體授權的商業模式越來越少了,靠網站和移動應用賣服務的模式越來越多了,後一種模式不需要把源碼給別人。
    再說了,現在如火如荼的開源運動和互聯網自由開放的精神是一致的,互聯網上有無數非常優秀的像Linux一樣的開原始程式碼,我們千萬不要高估自己寫的代碼真的有非常大的“商業價值”。那些大公司的代碼不願意開放的更重要的原因是代碼寫得太爛了,一旦開源,就沒人敢用他們的產品了。

    • 該主題由  FrankDJWu 於 6 年, 10 月 前 修改。
    附加檔案:
    你必須 登入 才能查看附件檔案。
    #1151

    FrankDJWu
    參與者

    轉載自廖雪峰的官方網站

正在檢視 2 篇文章 - 1 至 2 (共計 2 篇)

抱歉,回覆主題必需先登入。