2019年9月13日星期五

零基礎學 python (005) 第一篇 1.2 Python的特色

1.2 Python的特色

程式設計語言在不斷發展,從最初的組合語言到後來的C、Pascal語言,發展到現在的C++、Java等高級程式設計語言。程式設計的難度在不斷減小,軟體的開發和設計已經形成了一套標準,開發工作已經不再是複雜的任務。最初只能使用機器碼編寫代碼,而現在可以使用具有良好調試功能的IDE環境程式設計。Python使用C語言開發,但是Python不再有C語言中的指標等複雜資料類型。Python的簡潔性使得軟體的代碼大幅度地減少,開發任務進一步簡化。程式師關注的重點不再是語法特性,而是程式所要實現的任務。Python語言有許多重要的特性,而且有的特性是富有創造性的。
1.物件導向的特性
物件導向的程式設計解決了結構化程式設計的複雜性,使得程式設計更貼近現實生活。結構化程式設計把資料和邏輯混合在一起,不便於程式的維護。物件導向的程式設計抽象出物件的行為和屬性,把行為和屬性分離開,但又合理地組織在一起。Python語言具有很強的物件導向特性,而且簡化了物件導向的實現。它消除了保護類型、抽象類別、介面等物件導向的元素,使得物件導向的概念更容易理解。
2.內置的資料結構
Python提供了一些內置的資料結構,這些資料結構實現了類似Java中集合類的功能。Python的資料結構包括元組、清單、字典、集合等。內置資料結構的出現簡化了程式的設計。元組相當於“唯讀”的陣列,清單可以作為可變長度的陣列使用,字典相當於Java中的HashTable類型。內置資料結構的具體使用方法詳見第4章。
3.簡單性
Python語言的關鍵字比較少。它沒有分號、begin、end等標記,代碼塊使用空格或製表鍵縮進的方式來分隔。Python的代碼簡潔、短小,易於閱讀。Python簡化了迴圈語句,即使程式結構很複雜也能快速讀懂。詳細資訊請參考第2章的相關內容。
4.健壯性
Python提供了異常處理機制,能捕獲程式的異常情況。此外Python的堆疊跟蹤物件能夠指出程式出錯的位置和出錯的原因。異常機制能夠避免不安全退出的情況,同時能説明程式師偵錯工具。詳細資訊請參考第9章的相關內容。
5.跨平臺性
Python會先被編譯為與平臺相關的二進位碼,然後再解釋執行。這種方式和Java類似,但Python的執行速度提高了。Python編寫的應用程式可以運行在Windows、UNIX、Linux等不同的作業系統上。在一種作業系統上編寫的Python代碼只需做少量的修改,就可以移植到其他的作業系統上。
6.可擴展性
Python是採用C開發的語言,因此可以使用C擴展Python,可以給Python添加新的模組、新的類。同時Python可以嵌入C、C++語言開發的專案中,使程式具備指令碼語言的特性。
7.動態性
Python與JavaScript、PHP、Perl等語言類似,它不需要另外聲明變數,直接賦值即可創建一個新的變數。
8.強類型語言
Python的變數創建後會對應一種類型,它可根據賦值運算式的內容決定變數的類型。Python在內部建立了管理這些變數的機制,不同類型的變數需要類型轉換。
9.應用廣泛
Python語言應用於資料庫、網路、圖形圖像、數學計算、Web開發、作業系統擴展等領域。有許多協力廠商庫支持Python。例如,PIL庫(目前已經不再維護,取而代之的有Pillow)用於影像處理、NumPy庫用於數學計算、WxPython庫用於GUI程式的設計、Django框架用於Web應用程式的開發等。