《從零開始的Python筆記》Day#0:上船了

更新於 發佈於 閱讀時間約 7 分鐘
raw-image

在學習 Python 之前,我們需要首先了解 Python 是什麼、它的優缺點,以及它如何應用於不同領域。這一系列筆記將帶著你從基本概念開始,進一步認識 Python 的重要性,特別是對於 AI 、資料科學領域的價值。

認識 Python 🐍

Python 是一種高階的、直譯式、通用的程式語言,最初由 Guido van Rossum 於 1991 年設計。Python 以其簡單易學、高可讀性的語法設計著稱,使它成為初學者與專業開發者的首選。

Python 的設計哲學提倡「可讀性」,且擁有一個龐大而活躍的社群支持。然而,Python 不僅僅止於開發工具,它也以廣泛的應用場景和高效的生產力著稱,被廣泛地應用於以下領域:

  • 網頁開發 (如:Django, Flask)
  • 資料科學與機器學習 (如:pandas, NumPy, TensorFlow)
  • 網路爬蟲 (如:BeautifulSoup, Scrapy)
  • 自動化腳本與工具
  • 影像處理與電腦視覺 (如:OpenCV)
  • 遊戲開發 (如:Pygame)
  • 嵌入式系統與物聯網

Python冷知識

raw-image

你可能以為 Python 這個名字是從「蟒蛇」(Python) 得來的,但事實上 它的名字並不是因為蛇。Python 的創始人 Guido van Rossum 在開發這門語言時,受到了他喜愛的英國著名喜劇小組 Monty Python’s Flying Circus(蒙提·派森的飛行馬戲團) 的啟發。他希望新的程式語言名稱能夠 簡短、獨特且帶點幽默感,因此選擇了「Python」作為語言名。

雖然不少人聯想到「蟒蛇」,但這實際上只是個巧合(也因此 Python 的 Logo 設計成兩條交疊的蛇頭,與名稱進行了趣味聯想)。


為什麼選擇 Python? 🤔

程式語言非常多種,像是大家常常聽到的Java、C、C++、C# 與統計領域常用的R等等,為什麼目前在AI領域中Python似乎獨占鰲頭? 而且早期使用R語言進行統計與機器學習相關任務的人也都慢慢地轉投Python的懷抱,其原因可以就下列幾點來探討。

Python 的優點 ✅

  • 易於學習與編寫
    • Python 使用簡潔的語法結構,極大降低了學習曲線,非常適合初學者。
    • 與其他語言(例如 C++ 或 Java)相比,Python 可以用更少的代碼實現相同的功能。
  • 跨平台支持
    • Python 是跨平台的程式語言,可以在 Windows、macOS 和 Linux 等多個作業系統上運行。
  • 廣泛的標準函式庫
    • Python 擁有一個龐大的內建標準庫與第三方模組庫(如 PyPI),幾乎可以處理任何問題,包括影像處理、數據分析、資料庫訪問等。
  • 活躍的社群支持
    • 全球龐大的開發者社群提供了大量的教學資源、文件與解決方案。
  • 適用範圍廣泛
    • 從資料處理、人工智慧、網頁開發、遊戲開發到桌面應用開發等等,Python 幾乎無所不能。
  • 開發速度快
    • 除了上手簡單外,Python 的程式開發與測試速度比大多數語言更快,能快速實現創意。

Python 的缺點 ❌

有優點當然也有缺點,就看你如何去權衡這些優缺點。

  • 執行速度較慢
    • 由於 Python 為直譯式語言,執行速度比 C/C++ 或 Java 慢。對於需要高性能的應用程式,Python 可能不是最佳選擇。不過現在針對需要大量運算的任務,有開發出一些使用C/C++最佳化過的套件,可以大幅提升Python的速度。
  • 手機應用開發較弱
    • Python 雖然可以用於手機應用程式的開發(例如 Kivy、BeeWare 框架),但這並非它的主要強項。
  • 記憶體消耗較大
    • 相較於彈性更高的低階語言 (如 C),Python 在處理記憶體密集型任務時可能效率較差。

Python 可以做到哪些事情?

Python優秀的通用性以及廣大的社群資源,造就其豐富的應用領域,以下是一些具體例子:

  • 資料分析與機器學習
    • 利用 Python 中的資料科學工具(如 NumPy、pandas)來清理與分析數據。使用機器學習框架(如 scikit-learn 或 TensorFlow)來訓練模型並進行預測。
  • 網頁開發
    • 使用 Flask 或 Django 等框架來構建動態網站。部署後端 API 與處理用戶請求。
  • 自動化與腳本
    • 建立批次處理腳本,例如自動化檔案整理或爬取網站資訊。
  • 遊戲開發
    • 使用 Pygame 庫來快速開發 2D 遊戲。
  • 影像處理
    • 使用 OpenCV 處理影像,例如人臉辨識或物件偵測應用。
  • 軟體測試與部署
    • 使用 pytest 和 selenium 等工具測試應用程式。

為什麼 AI 工程師應該學習 Python?

現代人工智慧(AI)和機器學習(ML)的快速發展與 Python 的普及息息相關。如果你將來想從事 AI 工程師的職業,學習 Python 是不可或缺的一部分:

  • 資料分析與機器學習
    • 像 TensorFlow、PyTorch、Keras 和 scikit-learn 等主流框架都支Python 作為核心語言。
  • 龐大的資料處理能力
    • 由於 Python 擁有豐富的數據處理庫(如 pandas)、數學函式庫(如 NumPy)和繪圖庫(如 matplotlib),資料分析與清理變得非常高效。使用Python可以節省非常多處理資料的時間
  • 社群資源與學習資料豐富
    • 對於 AI 領域的學生和專業人士來說,Python 的生態系統和學習資源 (Kaggle、Coursera 等) 非常活躍且豐富。
  • 簡潔的語法
    • 機器學習常涉及非常複雜的計算與建模。Python 的簡單語法讓開發者能更專注在模型設計與演算法的優化上,而非語法本身。對於AI領域來說,開發模型與演算法會遠比程式語法來的重要
  • 快速迭代與實驗性強
    • 在 AI 的任務中,大量的模型實驗是很重要的。Python 的高生產力使得原型設計和測試模型更加迅速。


小結 📝

Python 是一種現代化、功能強大且用途廣泛的程式語言,它的易學性與涵蓋的廣泛應用場景,使它在開發者界廣受歡迎。無論是人工智慧工程師、網頁開發者,還是資料科學家,Python 都是一項必備技能。

接下來,我將進一步探索 Python 的基本結構與實作案例,幫助你快速上手這個強大的程式語言。


留言
avatar-img
留言分享你的想法!
avatar-img
Ethan的AI學習筆記
3會員
25內容數
我是一個不務正業的資料科學家,從零開始學習的路途上跌跌撞撞,跌過許多坑,也撞過許多牆... 當有人迷失方向時,希望這些筆記可以成為你的指南針。