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