2.python是什么編程語言。


編程語言主要從以下幾個角度為進行分類,編譯型和解釋型、靜態語言和動態語言、強類型定義語言和弱類型定義語言,每個分類代表什么意思呢,我們一起來看一下。

 

 

 

 

 

 

2.1 編譯型與解釋型。

編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快; 

解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯后的程序運行的快的. 

這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進制的形式)

 

 

 

編譯型
優點:編譯器一般會有預編譯的過程對代碼進行優化。因為編譯只做一次,運行時不需要編譯,所以編譯型語言的程序執行效率高。可以脫離語言環境獨立運行。
缺點:編譯之后如果需要修改就需要整個模塊重新編譯。編譯的時候根據對應的運行環境生成機器碼,不同的操作系統之間移植就會有問題,需要根據運行的操作系統環境編 

解釋型
優點:有良好的平台兼容性,在任何環境中都可以運行,前提是安裝了解釋器(虛擬機)。靈活,修改代碼的時候直接修改就可以,可以快速部署,不用停機維護。

缺點:每次運行的時候都要解釋一遍,性能上不如編譯型語言。

 

2.2動態語言和靜態語言
通常我們所說的動態語言、靜態語言是指動態類型語言和靜態類型語言。

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

(2)靜態類型語言:靜態類型語言與動態類型語言剛好相反,它的數據類型是在編譯其間檢查的,也就是說在寫程序時要聲明所有變量的數據類型,C/C++是靜態類型語言的典型代表,其他的靜態類型語言還有C#、JAVA等。

2.3強類型定義語言和弱類型定義語言

(1)強類型定義語言:強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,如果不經過強制轉換,那么它就永遠是這個數據類型了。舉個例子:如果你定義了一個整型變量a,那么程序根本不可能將a當作字符串類型處理。強類型定義語言是類型安全的語言。

(2)弱類型定義語言:數據類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數據類型的值。

強類型定義語言在速度上可能略遜色於弱類型定義語言,但是強類型定義語言帶來的嚴謹性能夠有效的避免許多錯誤。另外,“這門語言是不是動態語言”與“這門語言是否類型安全”之間是完全沒有聯系的!
例如:Python是動態語言,是強類型定義語言(類型安全的語言); VBScript是動態語言,是弱類型定義語言(類型不安全的語言); JAVA是靜態語言,是強類型定義語言(類型安全的語言)。

通過上面這些介紹,我們可以得出,python是一門動態解釋性的強類型定義語言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM