什麼是 Python?

Python 是一種廣泛使用的程式設計語言,用於 Web 應用程式、軟體開發、資料科學與機器學習 (ML)。開發人員使用 Python 的原因,在於 Python 效率高又容易學習,並且可以在許多不同的平台上執行。Python 軟體可以免費下載,與所有類型的系統完美整合,還可以加快開發速度。

Python 有哪些優勢?

Python 的優勢包括:

  • 開發人員可以輕鬆閱讀和理解 Python 程式,因為它具有類似英文的基本語法。 
  • Python 提升了開發人員的工作效率,因為相較於許多其他語言,這種語言可以使用更少的程式碼來編寫 Python 程式。
  • Python 具有大型標準程式庫,其中包含幾乎所有任務的可重複使用程式碼。因此,開發人員不必從頭開始編寫程式碼。
  • 開發人員可以輕鬆地將 Python 與其他常用的程式設計語言 (如 Java、C 和 C++) 搭配使用。
  • 活躍的 Python 社群包括全球數百萬支援開發人員。如果您遇到問題,可以從社群中取得快速支援。
  • 如果您想學習 Python,可以在網際網路上獲取大量有用的資源。例如,您可以輕鬆找到影片、教學、文件和開發人員指南。
  • Python 可以跨不同的電腦作業系統進行移植,例如 Windows、macOS、Linux 和 Unix。

如何使用 Python?

Python 語言在應用程式開發中具有若干使用案例,包括以下範例:

伺服器端 Web 開發

伺服器端 Web 開發包括網站執行的複雜後端功能,以向使用者顯示資訊。例如,網站必須與資料庫互動,與其他網站通訊,並在透過網路發送資料時對資料提供保護。 

Python 對於編寫伺服器端程式碼很有用,因為它提供許多程式庫,這些程式庫由用於複雜後端功能的預編寫程式碼組成。開發人員還使用範圍廣泛的 Python 架構,這些架構提供可更快、更輕鬆建置 Web 應用程式所需的所有必要工具。例如,開發人員可以在幾秒鐘內建立框架 Web 應用程式,因為他們不需要從頭開始編寫。然後,他們可以使用架構的測試工具對其進行測試,而無需依賴外部測試工具。

使用 Python 指令碼實現自動化

指令碼語言是一種將人類通常執行的任務自動化的程式設計語言。程式設計人員廣泛使用 Python 指令碼來自動化許多日常任務,例如:

  • 一次性重新命名大量檔案
  • 將檔案轉換為另一種檔案類型
  • 移除文字檔案中的重複字詞
  • 執行基本的數學運算
  • 傳送電子郵件
  • 下載內容
  • 執行基本日誌分析
  • 在多個檔案中尋找錯誤

資料科學與機器學習

資料科學從資料中擷取有價值的知識,而機器學習 (ML) 指導電腦自動從資料中學習並做出準確預測。資料科學家將 Python 用於資料科學任務,例如:

  • 修復和移除不正確的資料,這稱為資料清理 
  • 擷取並選取資料的各種特徵
  • 資料標記,即為資料新增有意義的名稱
  • 從資料中尋找不同的統計數字
  • 使用圖表和圖形 (如折線圖、橫條圖、長條圖和圓形圖) 視覺化資料
 
資料科學家使用 Python ML 程式庫來訓練 ML 模型,並建置準確分類資料的分類器。不同領域的人使用以 Python 為基礎的分類器來執行影像、文字、網路流量分類、語音識別和面部識別等分類任務。資料科學家還使用 Python 進行深度學習,這是一種進階 ML 技術。

軟體開發

軟體開發人員經常將 Python 用於不同的開發任務和軟體應用程式,例如:

  • 追蹤軟體程式碼中的錯誤
  • 自動建置軟體
  • 處理軟體專案管理
  • 開發軟體原型
  • 使用圖形使用者介面 (GUI) 程式庫開發桌面應用程式
  • 將簡單的以文字為基礎的遊戲,開發為更複雜的影片遊戲

軟體測試自動化

軟體測試是檢查軟體的實際結果是否與預期結果相符,以確保軟體無錯誤的程序。 

  • 開發人員使用 Python 單元來測試架構,例如 Unittest、Robot 和 PyUnit,進而測試其編寫的函數。 
  • 軟體測試人員使用 Python 針對各種測試場景編寫測試使用案例。例如,他們將其用於測試 Web 應用程式的使用者介面、多個軟體元件和新功能。 

開發人員可以使用多種工具來自動化測試指令碼。這些工具被稱為持續整合/持續部署 (CI/CD) 工具。軟體測試人員和開發人員使用 Travis CI 和 Jenkins 等 CI/CD 工具來自動化測試。每當開發人員引入新的程式碼變更時,CI/CD 工具即會自動執行 Python 測試指令碼並報告測試結果。

Python 的發展歷程?

荷蘭的電腦程式設計人員 Guido Van Rossum 建立了 Python。他於 1989 年在 Centrum Wiskunde & Informatica (CWI) 啟用 Python,最初是作為一個愛好專案,以在聖誕節期間保持忙碌。該語言的名稱受 BBC 電視節目 Monty Python's Flying Circus 的啟發,因為 Guido Van Rossum 是該節目的忠實粉絲。 

Python 發行歷史

  • Guido Van Rossum 於 1991 年發佈第一版 Python 程式碼 (版本 0.9.0)。該版本已經包含一些很好的功能,如一些資料類型和錯誤處理函數。 
  • Python 1.0 於 1994 年發佈,其中包含可輕鬆處理資料清單的新功能,如映射、篩選和減少。
  • Python 2.0 於 2000 年 10 月 16 日發佈,包含對程式設計人員有用的新功能,如對 Unicode 字元的支援,以及更短的迴圈清單方式。
  • 2008 年 12 月 3 日,Python 3.0 發佈。它包含列印功能,以及對數字除法和錯誤處理的更多支援。 

Python 有哪些功能?

Python 程式設計語言的以下功能使其獨一無二:

解譯性語言

Python 是一種解譯性語言,這意味著它直接逐行執行程式碼。如果程式程式碼有錯誤,它會停止執行。因此,程式設計人員可以快速發現程式碼中的錯誤。

易用型語言

Python 使用類似英文的單詞。與其他程式設計語言不同,Python 不使用大括號。而是使用縮進。 

動態型語言

程式設計人員在編寫程式碼時不必聲明變數類型,因為 Python 會在執行時間確定。因此,您可以更快地編寫 Python 程式。

高階語言

相較於其他一些程式設計語言,Python 更接近人類語言。因此,程式設計人員不必擔心其基礎功能,例如架構和記憶體管理。

以物件為導向的語言

Python 認為一切都是物件,但它也支援其他類型的程式設計,如結構化和函數式程式設計。

什麼是 Python 程式庫?

程式庫是開發人員可以將其包含在其 Python 程式中,以避免從頭開始編寫程式碼的常用程式碼集合。依預設,Python 隨附標準程式庫,其中包含許多可重複使用的函數。此外,超過 137,000 個 Python 程式庫可用於各種應用程式,包括 Web 開發、資料科學和機器學習 (ML)。

最常用的 Python 程式庫是什麼?

Matplotlib

開發人員使用 Matplotlib 以高品質的二維和三維 (2D 和 3D) 圖形繪製資料。它經常用於科學應用程式。使用 Matplotlib,您可以透過在橫條圖和折線圖等不同圖表中顯示資料來視覺化資料。您還可以一次繪製多個圖表,並且圖形可在所有平台上移植。

Pandas

Pandas 提供最佳化且靈活的資料結構,可用於操縱時間序列資料和結構化資料,如表格和陣列。例如,您可以使用 Pandas 來讀取、寫入、合併、篩選和分組資料。許多人將其用於資料科學、資料分析和機器學習任務。

NumPy

NumPy 是一個常用的程式庫,開發人員可用於輕鬆建立和管理陣列、操縱邏輯形狀,以及執行線性代數運算。NumPy 支援與 C 和 C++ 等多種語言整合。

Requests

Requests 程式庫提供 Web 開發所需的有用功能。在與 Web 應用程式通訊時,您可以將其用於傳送 HTTP 請求、新增標頭、新增 URL 參數、新增資料,以及執行更多任務。 

OpenCV-Python

OpenCV-Python 是開發人員用於處理電腦視覺應用程式影像的程式庫。它為影像處理任務提供眾多功能,如同時讀取和寫入影像、透過 2D 環境建置 3D 環境,以及從影片中擷取和分析影像。

Keras

Keras 是 Python 的深度神經網路程式庫,對資料處理、視覺化等提供出色的支援。Keras 支援多種神經網路。它具有模組化結構,可靈活地編寫創新應用程式。

什麼是 Python 架構?

Python 架構是套件和模組的集合。模組是相關的程式碼集,一個套件即一個模組集。開發人員可以使用 Python 架構,更快地建置 Python 應用程式,因為他們不必擔心底層詳細資訊,如 Web 應用程式中的通訊方式,或 Python 如何使程式更快運作。Python 有兩種類型的架構: 

  • 全堆疊架構幾乎包含建置大型應用程式所需的一切功能。
  • 微型架構是一個基本架構,為建置簡單的 Python 應用程式提供最低限度的功能。如果應用程式需要更複雜的功能,它還提供擴展。

最常用的 Python 架構有哪些?

開發人員可以使用多個 Python 架構來提升開發效率,包括以下架構:

Django

Django 是用於開發大型 Web 應用程式的最廣泛使用的全堆疊 Python Web 架構之一。它提供若干實用功能,包括用於開發和測試的 Web 伺服器、用於建置網站前端的範本引擎,以及各種安全機制。

Flask

Flask 是用於開發小型 Web 應用程式的微型架構。其功能包括強大的社群支援、編寫良好的文件、範本引擎、單元測試和內建 Web 伺服器。它還為驗證支援、資料庫映射層和 Web 安全提供擴展。

TurboGears

TurboGears 是一種架構,旨在更快、更輕鬆地建置 Web 應用程式。以下是一些常用功能: 

  • 特定資料庫資料表結構
  • 用於建立和管理專案的工具
  • 用於建置資料庫的範本引擎
  • 用於建置前端的範本引擎
  • 用於處理 Web 安全的機制

Apache MXNet

Apache MXNet 是一種快速、靈活且可擴展的深度學習架構,開發人員可以用於建置研究原型和深度學習應用程式。其支援多種程式設計語言,包括 Java、C++、R 和 Perl。它提供豐富的工具和程式庫集來支援開發。例如,您可以尋找互動式機器學習 (ML) 書籍、電腦視覺工具組和用於自然語言處理 (NLP) 的深度學習模型,可以處理文字和語音等自然語言。

PyTorch

PyTorch 是在 Torch 程式庫之上建置的機器學習架構,這是另一種開放原始碼 ML 程式庫。  開發人員將其用於 NLP、機器人和電腦視覺等應用程式,在影像和影片中尋找有意義的資訊。他們還將其用於在 CPU 和 GPU 中執行這些應用程式。

什麼是 Python IDE?

整合式開發環境 (IDE) 是一種軟體,可為開發人員提供在一處編寫、編輯、測試程式碼和偵錯所需的工具。 

最常用的 Python IDE 是什麼?

PyCharm

開發軟體工具的捷克公司 JetBrains 建立了 PyCharm。其擁有一個適合小型 Python 應用程式的免費社群版,以及一個適合建置大型 Python 應用程式的付費專業版,具有以下全套功能:

  • 自動完成和檢查程式碼
  • 錯誤處理和快速修復
  • 在不變更功能的情況下清理程式碼
  • 支援 Django 和 Flask 等 Web 應用程式架構
  • 支援其他程式設計語言,如 JavaScript、CoffeeScript、TypeScript、AngularJS 和 Node
  • 科學工具和程式庫,如 Matplotlib 和 NumPy
  • 能夠在遠端虛擬機器中執行、偵錯、測試和部署應用程式
  • 用於尋找程式碼錯誤的偵錯工具、用於識別程式碼中效能問題的分析工具,以及用於執行單元測試的測試執行工具
  • 支援資料庫

IDLE

整合開發和學習環境 (IDLE) 是預設安裝的 Python IDE。僅使用 Python 透過 Tkinter GUI 工具組開發,並提供以下功能:
 
  • 適用於多種作業系統,如 Windows、Unix 和 macOS
  • 提供一個 shell 視窗來執行命令並顯示輸出
  • 提供多視窗文字編輯器,以提供程式碼語法反白顯示和自動化程式碼完成
  • 擁有自身偵錯工具 

Spyder

Spyder 是許多科學家和資料分析師使用的開放原始碼 IDE。它提供全面的開發體驗,具有進階資料分析、資料視覺化和偵錯功能。它還包含以下功能:

  • 支援多種語言的豐富程式碼編輯器
  • 互動式 IPython 主控台
  • 基本偵錯工具
  • Matplotlib、SciPy 和 NumPy 等科學程式庫
  • 能夠探索程式碼中的變數
  • 能夠即時檢視文件

Atom

Atom 是由 GitHub 開發的免費編輯器,支援使用多種程式設計語言 (包括 Python) 進行編碼。使用 Atom,開發人員可以直接使用 GitHub,您可以在該網站集中儲存程式碼。 Atom 提供以下功能:

  • 能夠與許多作業系統搭配使用 
  • 輕鬆安裝或建立新套件
  • 加速自動化程式碼完成
  • 能夠搜尋檔案和專案
  • 輕鬆自訂介面

什麼是 Python SDK?

軟體開發套件 (SDK) 是一個軟體工具集合,開發人員可以使用這些工具以特定語言建立軟體應用程式。大多數 SDK 特定於不同的硬體平台和作業系統。Python SDK 包含許多工具,如程式庫、程式碼範例和開發人員指南,開發人員在編寫應用程式時會發現這些工具很有幫助。

Python 中的 Boto3 是什麼?

Boto3 是適用於 Python 的 AWS SDK。您可以用於建立、設定和管理 AWS 服務,如 Amazon Elastic Compute Cloud (EC2)Amazon Simple Storage Service (S3)Amazon DynamoDB。Boto3 還為開發人員提供兩種類型的 API:低階 API 和資源 API。

什麼是 AWS PyCharm?

AWS Toolkit for PyCharm 是 PyCharm IDE 的外掛程式,可讓您更輕鬆地在 AWS 上建立、偵錯和部署 Python 應用程式。使用 AWS Toolkit for PyCharm,開發人員可以輕鬆地開始 Python 開發。它為開發人員提供若干實用功能,包括入門指南、逐步偵錯和 IDE 部署。

AWS 上的後續步驟