首先看看不同編程語言之間的真實區別:
常用的編程語言都是各有千秋,各自都有自己的優點。比如:
- C語言可以編寫操作系統的貼近硬件的語言,適合開發那些追求運行速度、充分發揮硬件性能的程序。
- Python是用來編寫應用程序的高級編程語言。它的定位是“優雅”、“明確”、“簡單”,盡量寫容易看明白的代碼,盡量寫少的代碼。
01 Python到底是一種什么樣的語言?
- 一種解釋型語言:開發過程中沒有編譯這個環節,能省下不少時間與精力。
- 一種交互式語言:可以在一個Python提示符,直接互動執行寫你的程序。
- 面向對象的語言:支持面向對象的風格或代碼封裝在對象的編程技術。
- 是初學者的語言:支持廣泛的應用程序開發。
我舉個例子:比如說要編寫一個電子郵件客戶端。
- 如果先從最底層開始編寫網絡協議相關的代碼,那估計一年半載也開發不出來。
- 高級編程語言通常會提供一個比較完善的基礎代碼庫,覆蓋了網絡、文件、GUI、數據庫、文本等大量內容,能直接調用。
也就是說,用Python這種高級編程語言,針對電子郵件協議的SMTP庫,針對桌面環境的GUI庫,在已有的代碼庫的基礎上開發,一個電子郵件客戶端幾天就能開發出來。
除了內置的庫外,Python還有大量的第三方庫,也就是別人開發的,供你直接使用的東西。當然,如果你開發的代碼通過很好的封裝,也可以作為第三方庫給別人使用。
02 Python適合開發哪些類型的應用?
- 首選是網絡應用,包括網站、后臺服務等等。
許多大型網站都是用Python開發的,例如YouTube、Instagram,還有國內的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。
- 其次是許多日常需要的小工具,包括系統管理員需要的腳本任務等等;
- 另外就是把其他語言開發的程序再包裝起來,方便使用。
03 Python的優缺點有哪些?
3.1 Python的優點
- 1.易于學習:Python有相對較少的關鍵字,結構簡單,學習起來更加簡單。
- 2.易于閱讀:Python代碼定義的相對于其他的代碼更加的清晰。
- 3.易于維護:Python的成功在于它的源代碼是相當容易維護的。
- 4.廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh兼容很好。
- 5.互動模式:互動模式的支持,可以從終端輸入執行代碼并獲得結果的語言,互動的測試和調試代碼片斷。
- 6.可移植:基于其開放源代碼的特性,Python已經被移植(也就是使其工作)到許多平臺。
- 7.可擴展:如果你需要一段運行很快的關鍵代碼,或者是想要編寫一些不愿開放的算法,你可以使用C或C++完成那部分程序,然后從你的Python程序中調用。
- 8.數據庫:Python提供所有主要的商業數據庫的接口。
- 9.GUI編程:Python支持GUI可以創建和移植到許多系統調用。
- 10.可嵌入: 你可以將Python嵌入到C/C++程序,讓你的程序的用戶獲得"腳本化"的能力。
3.1 Python的缺點
第一個缺點就是運行速度慢,和C程序相比非常慢。
因為Python是解釋型語言,你的代碼在執行時會一行一行地翻譯成CPU能理解的機器碼,這個翻譯過程非常耗時,而C程序是運行前直接編譯成CPU能執行的機器碼,所以非?。
但是大量的應用程序不需要這么快的運行速度,因為用戶根本感覺不出來。
舉個例子:
開發一個下載MP3的網絡應用程序,C程序的運行時間需要0.001秒,而Python程序的運行時間需要0.1秒,慢了100倍,但由于網絡更慢,需要等待1秒,你想,用戶能感覺到1.001秒和1.1秒的區別嗎?
第二個缺點就是代碼不能加密。
如果要發布你的Python程序,實際上就是發布源代碼,這一點跟C語言不同,C語言不用發布源代碼,只需要把編譯后的機器碼(也就是你在Windows上常見的xxx.exe文件)發布出去。
要從機器碼反推出C代碼是不可能的,所以,凡是編譯型的語言,都沒有這個問題,而解釋型的語言,則必須把源碼發布出去。
這個缺點僅限于你要編寫的軟件需要賣給別人掙錢的時候。好消息是目前的互聯網時代,靠賣軟件授權的商業模式越來越少了,靠網站和移動應用賣服務的模式越來越多了,后一種模式不需要把源碼給別人。
再說了,現在如火如荼的開源運動和互聯網自由開放的精神是一致的,互聯網上有無數非常優秀的像Linux一樣的開源代碼,我們千萬不要高估自己寫的代碼真的有非常大的“商業價值”。那些大公司的代碼不愿意開放的更重要的原因是代碼寫得太爛了,一旦開源,就沒人敢用他們的產品了。
當然,Python還有其他若干小缺點,請自行忽略,就不一一列舉了。