一位博學的讀者發給我 Python 如何與其它編程語言的比較的解釋:
-
靜態類型定義語言
- 一種在編譯期間數據類型固定的語言。大多數靜態類型定義語言是通過要求在使用所有變量之前聲明它們的數據類型來保證這一點的。 Java 和 C 是靜態類型定義語言。
-
動態類型定義語言
- 一種在運行期間才去確定數據類型的語言, 與靜態類型定義相反。 VBScript 和 Python 是動態類型定義的, 因為它們確定一個變量的類型是在您第一次給它賦值的時候。
-
強類型定義語言
- 一種總是強制類型定義的語言。 Java 和 Python 是強制類型定義的。您有一個整數, 如果不明確地進行轉換 , 不能將把它當成一個字符串。
-
弱類型定義語言
- 一種類型可以被忽略的語言, 與強類型定義相反。 VBScript 是弱類型定義的。在 VBScript 中, 您可以將字符串 '12' 和整數 3 進行連接得到字符串'123', 然后可以把它看成整數 123 , 所有這些都不需要任何的顯示轉換。
所以說 Python 既是 動態類型定義語言 (因為它不使用顯示數據類型聲明) , 又是 強類型定義語言 (因為一旦一個變量具有一個數據類型, 它實際上就一直是這個類型了) 。