為了理解動態類型,最好先理解其反面——靜態類型。
靜態類型語言有C、JAVA等。這些語言與它們的動態類型對應語言之間的主要區別在于類型檢查。靜態類型是在編譯時進行類型檢查,而動態類型是在運行時進行類型檢查。
注:這是對動態類型和靜態類型的平淡定義。其中具體的技術細節超出了本文要討論的范疇。
由于Python的調試問題,以及Python語言如何使跟蹤bug的過程變得比現在更復雜,一些開發人員對Python大發牢騷。
這種抱怨源于這樣一個事實:作為一種動態類型語言,Python在運行時標記錯誤,這使得它比Java等靜態類型語言更容易出錯。
理論上,這是一個威脅,畢竟考慮到一個著名的諺語——是人都會犯錯。但是在實踐中,我懷疑類型錯誤有沒有他們聲稱的那樣嚴重。
說真的,現在誰還犯類型錯誤?
靜態類型語言遠不是一個無障礙的調試避風港。除了類型錯誤之外,大多數靜態類型語言都無法捕獲到你可能認為應該檢測到的細微錯誤。這些錯誤同樣發生在靜態類型和動態類型中。
此外,幾乎沒有代碼會不經過單元測試就部署。單元測試可以很好地防范類型錯誤。只有極少數情況下,類型錯誤會繞過單元測試來搞亂代碼。在調試方面,編程語言的另一個特性是安全類型和不安全類型。允許用戶重寫系統類型的語言被認為具有不安全的類型——例如C。雖然不安全的類型給了用戶對類型的控制,但它的誤用會導致程序任意崩潰。
大多數靜態類型語言都是不安全的類型系統。然而,JAVA是一種安全類型語言。Python和我所知道的其它動態類型編程語言也是如此。
最后,我更愿意使用像Python這樣方便和高級的語言編寫一百萬次代碼,而不是陷入JAVA等語言的低級細節中。
以上內容為大家介紹了python的動態類型,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.dietsnews.net/