天天看點

Python與其他語言的差別

摘自: dive into python

靜态類型語言

一種在編譯期間就确定資料類型的語言。大多數靜态類型語言是通過要求在使用任一變量之前聲明其資料類型來保證這一點的。java 和 c 是靜态類型語言。

動态類型語言

一種在運作期間才去确定資料類型的語言,與靜态類型相反。vbscript 和 python 是動态類型的,因為它們确定一個變量的類型是在您第一次給它指派的時候。

強類型語言

一種總是強制類型定義的語言。java 和 python 是強制類型定義的。您有一個整數,如果不明确地進行轉換 ,不能将把它當成一個字元串。

弱類型語言

一種類型可以被忽略的語言,與強類型相反。vbscript 是弱類型的。在 vbscript 中,您可以将字元串 <code>'12'</code> 和整數 <code>3</code> 進行連接配接得到字元串<code>'123'</code>,然後可以把它看成整數 <code>123</code> ,所有這些都不需要任何的顯示轉換。

是以說 python 既是動态類型語言 (因為它不使用顯示資料類型聲明),又是強類型語言 (因為隻要一個變量獲得了一個資料類型,它實際上就一直是這個類型了)。

在 python中萬物皆對象。字元串是對象,清單是對象,函數是對象,甚至子產品也是對象!

在 python 中一切都是對象,并且幾乎一切都有屬性和方法。所有的函數都有一個内置的 <code>__doc__</code> 屬性,它會傳回在函數源代碼中定義的

<code>doc string</code>;<code>sys</code> 子產品是一個對象,它有一個叫作 <code>path</code> 的屬性;等等。

我們仍然在回避問題的實質,究竟何謂對象?不同的程式設計語言以不同的方式定義 “對象” 。 某些語言中,它意味着所有 對象必須有屬性和方法;另一些語言中,它意味着所有的對象都可以子類化。如果我們之前已經很熟悉了c/c++, or java, 對 object 應該不會陌生。