閱讀748 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Python與其他語言的區別

摘自: Dive into Python

靜態類型語言

一種在編譯期間就確定數據類型的語言。大多數靜態類型語言是通過要求在使用任一變量之前聲明其數據類型來保證這一點的。Java 和 C 是靜態類型語言。

動態類型語言

一種在運行期間才去確定數據類型的語言,與靜態類型相反。VBScript 和 Python 是動態類型的,因為它們確定一個變量的類型是在您第一次給它賦值的時候。


強類型語言

一種總是強製類型定義的語言。Java 和 Python 是強製類型定義的。您有一個整數,如果不明確地進行轉換 ,不能將把它當成一個字符串。

弱類型語言

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



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


Python萬物皆對象。字符串是對象,列表是對象,函數是對象,甚至模塊也是對象!

在 Python 中一切都是對象,並且幾乎一切都有屬性和方法。所有的函數都有一個內置的 __doc__ 屬性,它會返回在函數源代碼中定義的 doc stringsys 模塊是一個對象,它有一個叫作 path 的屬性;等等。

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

最後更新:2017-04-03 16:59:42

  上一篇:go 你懂黑客在說什麼嗎?
  下一篇:go HTML和CSS中如何判斷ie各版本瀏覽器