【 TO 編輯部導讀】
程式語言有好幾種,到處都有人問:「到底該學哪一種?」Python 常常成為答案之一。
為什麼 Python 歷久不衰?程式語言的入門推薦首選?本文將一次解答,還提供滿滿的 Python 自學資源!
作者:Tim Kuo
Python 是什麼?
Python 是一個 90 年代就存在的程式語言,至今的 Python 即將邁入 30 年的歷史。不過還是許多軟體工程師的首選。
Python 是一個被廣泛使用的高階程式語言,屬於通用型程式語言,也就是說,Python 它不為特定應用領域而設計結構,而是可以運用在許多方面、許多領域的程式語言(文章後續也會一一介紹)。Python 的設計哲學強調程式碼的可讀性和簡潔的語法,也之所以被稱為直譯語言。相較之下,Python 在開發方面會比 C++ 或 Java,使用更少的程式碼。不管是小型還是大型程式,Python 程式語言都能讓結構清晰明瞭。
相對其他程式語言,Python 有哪些優點?
- Python 是相對容易理解的程式語言,適合直接閱讀理解。如果程式寫得很好,甚至會感覺像在讀一般的英文一樣,可以快速的了解每段程式碼的功用。
- 連接上一個優點,Python 是一個比其他語言更易學的程式語言。Python 本身雖然是用 C 語言寫的,但是它拋棄了複雜的指針,並且簡化了語法。
- Python 的社會團體非常龐大,資訊量充足,自由性也非常高。如果想要複製軟體,閱讀、改變其他人的程式碼,或是擷取部分的程式碼,都是辦得到的。
- Python 有可移植的特性,能夠將程式碼移植到許多其他的平台上。如果能夠避免過度依賴於系統本身,那 Python 程式碼便有機會在最少的改變下,直接移植到一些知名平台上,包括 Linux、Windows、FreeBSD、Macintosh、Solaris、PlayStation 等。
- Python 的可擴展性和可嵌入性非常高,若是希望讓一段關键程式碼運行得更快或者希望隱藏某些演算法,可以使用 C 或 C++ 編成,再將其程式碼嵌入到 Python。也能夠把 Python 嵌入至 C/C++ 的程式中,建立一個腳本功能。
- Python 有豐富的框架、模組、元件、函式庫。Python 有許多第三方函式庫可以使用,能夠利用資源幫助處理任何工作,從文檔的生成、程式的測試、網頁的瀏覽,到 CGI、FTP、XML、密碼系統、GUI 與其他系统有關的操作,樣樣都有。

學習 Python 該從哪裡下手?
學習 Python 可以透過以下 4 個方法:
網站
Python 官方本身就是一個很好的資源,裡面有許多有用的內容,網站本身的導航也很簡易,可以嘗試在上面摸索。除此之外,以下幾個教學網站也非常推薦,除了附有範例程式碼說明之外,觀念講解清楚且易於理解:
- Real Python: Python Tutorials
- Python Programming Language – GeeksforGeeks
- ccClub(Coding&Co-working Club)
書籍
Python 的學習也能夠透過研讀書籍,以下介紹幾本適合初學者的 Python 學習書籍:
- Python初學特訓班(第四版):從快速入門到主流應用全面實戰(附250分鐘影音教學/範例程式)
- 此書從 Python 最基本的語法,到應用程式的開發,都講述的非常透徹。內容包含了 YouTube、LINE Bot 聊天機器人、網頁爬蟲及資訊圖表繪製等 Python 專案的開發。學習完基礎語法後,還能夠透過實際的專案開發磨練熟悉度。
- Python 自動化的樂趣:搞定重複瑣碎&單調無聊的工作(第二版)
- 此書也先從介紹 Python 的基本重要語法開始,簡潔易懂,專案實作如書名所言,針對 Python 自動化的處理,包含 Web 擷取資訊、工作排程、影像圖片處理及 Email 發送等。適合初學者及對 Python 自動化處理有興趣的開發人員。
- Python設計模式
- 此書會需要一定的開發基礎,內容介紹 Python 常用的設計模式(Design Pattern)及設計原則(Design Principle),藉此設計出好維護及簡潔的程式碼。開發專案時,需要有好的架構,讓程式碼可以被輕鬆維護,透過這本書可以學習到如何讓自己更有效率的寫程式。適合進階且已有實務經驗的開發人員。
YouTube 頻道
利用 Youtube 來學習也是一個常見的方式,這邊有幾個不錯的頻道推薦給各位:
- Programming with Mosh
- 這個頻道推出一系列的 Python 教學影片,內容淺顯易懂,傳授實務開發上的重要觀念及技巧,很多時候會以 Mosh 本人的經驗作為例題。
- CS Dojo
- 此頻道是由一位曾經在 Google 擔任軟體工程師一年多的 YouTuber 所製,Python 入門影片清楚明瞭,除此之外,也會著重於分享面試時可能會遇到的程式碼問題,並且說明其中的觀念以及解決問題的技巧,非常的實用。