動態
Python 是一個高階的動態語言,何謂動態語言呢?動態語言是指在執行時可以改變其結構的語言,包括變數參照型態的改變,函式、物件、和代碼的動態引進等。像是 PHP、Ruby、JavaScript 等都是動態語言,而與之相對的是像 C、C++ 一類的靜態語言。
因為動態和可變造成的靈活性,動態語言具備了易學易寫的特性,在某種角度而言,這樣的語言比靜態語言更高階,更能處理複雜和瑣碎的事情,在學習和開發上的效率通常較高,所以近幾年來這些語言相當活躍。尤其在網際網路發達之後,Web 服務和雲端科技等技術儼然成為資訊界的重要領域,而在這裡,動態語言是極具優勢的。我們當然也不諱言,動態語言的缺點還是存在的,效率不彰,對底層的控制性較差,都是靜態語言仍占一席之地的原因。
不過情況沒有我們想的那麼糟,動態語言的執行效率雖然無法與靜態語言相比,但是經過許多前輩與高手的努力,速度上面已經相差不遠,尤其是當我們要處理的任務不需要如此高效的時候(比如說記帳程式的效率要求一定低於運算物理方程式吧),使用一款在寫作上高效的語言比起使用一款執行上高效的語言是正確多了。我們總不會希望用靜態語言多花兩個月寫出來的記帳程式只比動態語言的執行速度快 0.000001 秒吧。
千萬別小看寫作上的高效,一個語言運作和運用的方式會導致完成任務所需時間的不同,如果讀者們有學習過 C 語言,可以想像 Python 跟 C 在完成一個工作上面的複雜度有多麼懸殊。而這種寫作上的高效和能面對複雜任務的能力正是動態語言所擁有的。