總的來說,程式語言各有千秋。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能執行的機器碼,所以非常快。
第二個缺點就是**不能加密。如果要發布你的python程式,實際上就是發布源**,這一點跟c語言不同,c語言不用發布源**,只需要把編譯後的機器碼(也就是你在windows上常見的***.exe檔案)發布出去。要從機器碼反推出c**是不可能的,所以,凡是編譯型的語言,都沒有這個問題,而解釋型的語言,則必須把原始碼發布出去。
這個缺點僅限於你要編寫的軟體需要賣給別人掙錢的時候。好訊息是目前的網際網路時代,靠賣軟體授權的商業模式越來越少了,靠**和移動應用賣服務的模式越來越多了,後一種模式不需要把原始碼給別人。
再說了,現在如火如荼的開源運動和網際網路自由開放的精神是一致的,網際網路上有無數非常優秀的像linux一樣的開源**,我們千萬不要高估自己寫的**真的有非常大的「商業價值」。那些大公司的**不願意開放的更重要的原因是**寫得太爛了,一旦開源,就沒人敢用他們的產品了。
當然,python還有其他若干小缺點,請自行忽略,就不一一枚舉了
黑猴子的家 Flume簡介
flume 作為 cloudera 開發的實時日誌收集系統,受到了業界的認可與廣泛應用。flume 初始的發行版本目前被統稱為 flume og original generation 屬於 cloudera。但隨著 flume 功能的擴充套件,flume og 工程臃腫 核心元件設計不合理 核心配...
黑猴子的家 python 裝飾器
裝飾器本質是函式,裝飾其他函式 就是為其他函式新增附加功能 1 不能修改被裝飾的函式的源 2 不能修改被裝飾的函式的呼叫方式 3 裝飾器對它被裝飾的韓式是完全透明的 1 函式即 變數 2 高階函式 3 巢狀函式code import time 裝飾器 def timmer func def warp...
黑猴子的家 Python 使用者輸入
code usr bin env python coding utf 8 name raw input what is your name?only on python 2.x name input what is your name?print hello name 執行 what is your...