Python修鍊之路第一步:什麼是Python?

來源:互聯網
上載者:User

標籤:應用   c#   uid   c/c++   使用者   編寫   移植   聲明   修鍊   

 Python的起源:

  要知道一門語言是什麼樣的語言,我們就必須從它的起源說起。Python是荷蘭程式員Guido Van Rossum於1989年發明,在經過兩年時間的修改和最佳化之後,於1991年發行了第一個公開發行版。Python因其特性,自發明開始到迅速發展在電腦程式設計語言中佔有了一席之地,都足以證明其優秀性,而Python發明背後的一個小故事也令其增添了一絲趣味性:Python的發明者 Guido在1989年的聖誕節期間,為了打發無聊的時間,決心開發一個新的指令碼解釋語言,做為ABC 語言的一種繼承。之所以選中Python(大蟒蛇的意思)作為該程式設計語言的名字,是因為他是一個叫Monty Python的喜劇團體的愛好者。--引自百度百科。Python的設計初衷也是為了繼承ABC語言,相比於ABC語言,Python則更開放。Python因為其優美和強大的功能,很快得以發展,2011年1月,它被TIOBE程式設計語言熱門排行榜評為2010年度語言。自從2004年以後,python的使用率呈線性增長。

電腦程式設計語言的幾大要素:

程式設計語言雖然都是指令碼解釋語言,但是卻也不盡相同,因為設計的目的和方式,也造就它們的不同的特性和指令碼編寫規則。而電腦程式設計語言大體可以區分以下幾種。

1.編譯性和解釋性:

  編譯型語言是將我們寫好的原始碼用負責翻譯的程式進行轉換,產生相應的可執行檔代碼,這個過程就是編譯,編譯型語言在儲存之前便已經一次性的將所有原始碼行轉換為了可執行檔代碼,而編譯後則會產生對應的可執行檔,以供我們可以直接運行。而解釋性則不相同,只有在所寫程式開始運行時,程式運行到哪一步則編譯到哪一步。在程式啟動並執行前一刻,還只有來源程式而沒有可執行程式;而程式每執行到來源程式的某一條指令,則會有一個稱之為解釋程式的外殼程式將原始碼轉換二級制代碼以供執行。兩者的區別就在於,前者在代碼編寫完成後進行了編譯,然後就可以直接執行,而後者則是將編譯和執行幾乎同步完成(ps:但還是編譯在前,執行在後,否則機器也無法識別程式員編寫的程式碼更無法完成工作了。)。而正是這一點的差異,導致了編譯型和解釋型不同的特性和程式員的選擇:編譯型編譯完成後提高了使用者開啟程式的響應速度和體驗,但是對於一些模組較多的程式而言則比較麻煩,不同的模組會產生不同的目標檔案,而最後還要將所有的目標檔案整合封裝為一個可執行檔,這無疑增大了程式員的工作量和難度。而解釋型則因為編譯工作和執行工作幾乎同時進行,所以程式執行的回應時間載入的速度上遠遠低於編譯型的程式。編譯型由於程式執行速度快,同等條件下對系統要求較低,因此像開發作業系統、大型應用程式、資料庫系統等都要採用它,如:C/C++、PASCAIOBJECT、pascal(Delphi)、VB等基本都可以視為編譯語言,而一些網頁指令碼、伺服器指令碼及輔助開發介面這樣的對速度要求不高、對不同系統平台間的相容性有一定要求的程式則通常使用解釋性語言,如JAVA、JAVAScrip、VBScript、Perl、Python等等

2.動態類型語言和靜態類型語言:

  動態類型語言:動態類型語言是指運行期間才去做資料類型檢查的語言,也就是說,用動態類型語言編程時,不需要給任何變數指定資料類型,該語言會在你第一次賦值給變數時,在內部將資料類型記錄下來。Python和Ruby就是一種典型的動態類型語言,其他的各種指令碼語言如VBScript也多少屬於動態類型語言。

  靜態類型語言:靜態類型語言和動態類型語言剛好相反,它的資料類型是在編譯期間檢查的,也就是說在寫程式的時候要聲明所有的變數的資料類型,C/C++是靜態類型語言的典型代表,其他的靜態類型語言還有C#、JAVA等。

3.強型別定義語言和弱類型定義語言:

  強型別定義語言:強制資料類型定義的語言。變數被指定了資料類型後,除非強制轉換,否則將一直保持當前的資料類型。如:將A定義為整型變數,則程式決不會將其當做字串處理。強型別定義語言是型別安全的語言。

  弱類型定義語言:資料類型可以被忽視的語言,它與強型別定義語言剛好相反,一個變數可以賦予不同資料類型的值。

強型別定義語言在速度上可能稍遜色於弱類型定義語言,但是強型別定義語言更加嚴謹,能避免許多的錯誤。另外,“這門語言不是動態語言”與“這門語言是否型別安全”之間是完全沒有聯絡的!

例如,Python是動態類型語言,是強型別定義語言(型別安全的語言)VBScript是動態語言,是弱類型定義語言(類型不安全的語言)JAVA是靜態語言,是強型別定義語言。Python是一門動態解釋性強型別定義語言

Python的優缺點:

優點:

  1.簡單易懂

  2.開發效率高,有著豐富的第三方庫

  3.可拓展性:如果你需要你的一段關鍵代碼啟動並執行更快或者希望某些演算法不公開,你可以把你的部分程式用C或C++編寫,然後在你的Python程式中使用它們

  4.可移植性

  5.可嵌入性:你可以把你的Python嵌入你的C/C++程式,從而向你的程式使用者提供指令碼功能。

缺點:

  1.速度慢,Python的運行速度相比C語言確實慢很多,甚至比JAVA也要慢一些。

 

  2.代碼不能加密,因為Python是解釋性語言,它的源碼都是以明文形式存放的,不過我不認為這是一個缺點,如果你的項目要求源碼必須是加密的,從一開始你就不應該用Python去實現

 

  3.線程不能利用多CPU的問題,這也是Python被人詬病最多的一個缺點,GIL即全域解譯器鎖(Global interpreter Lock),屎電腦程式設計語言解譯器用於同步線程的工具,使得任何時刻僅有一個線程在執行

總結:

  電腦最好的語言就是Python!

 

Python修鍊之路第一步:什麼是Python?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.