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