Python 程式設計

2019/05/13 謝碧景(c)編製更新

學習目標

一、Python發展簡介

(一)發展歷史

      • 1989年12月吉多范羅蘇姆於荷蘭國家數學及計算機科學研究開發出Python程式語言。1991年推出第一個Python編輯器,Python 2.0 於2000年10月16日發布,Python 3.0 於2008年12月3日發布。【參閱:wiki

(二)特色

      • 簡單易學、免費且開源。【參閱:官網 Python documentation模組的索引語法參考。】

      • 高階程式語言:是不需編譯成二進位代碼的『直譯式』程式語言。

      • 可移植性、可嵌入性:Python可在多種平台開發執行,如:Linux、Windows、FreeBSD、Macintosh、OS/2…等,提供許多內建的標準且多元模組,及嵌入到 C 或 C++ 程式。

      • 豐富且多元的模組:有許多內建的標準模組,及第三方開發的高品質模組,如:資料庫、網頁瀏覽器、CGI、FTP、XML、HTML、密碼系統、GUI(圖形用戶界面)…等。【參閱:Python 標準函式庫 (Standard Library)】

(三)程式設計流程

二、建置Anaconda整合開發環境(IDE)

(一)安裝 Anaconda

註:安裝過程中,核選All Users後→按Next鈕→V核選 Add Anaconda to the system PATH enviroment variable 加入環境變數→按 Install 安裝。

(二)功能項目

    • Anaconda 開發環境包含超過300種常用科學資料分析模組,內建Spyder ( IDLE編輯器加強版) 編輯器及Jupyter Notebook編輯器。

    • 安裝後,在程式集→Anaconda3 資料夾中會看到常用的功能項目,如圖。

    • Anaconda Navigator:以圖形化使用者介面程式,讓使用者以文字型命令列程式,管理安裝模組、建置虛擬環境和切換頻道。

  • Anaconda Prompt:會顯示命令視窗,輸入命令後按下Enter鍵即可執行,該項必須以系統管理員身分執行。您可使用conda list 或 pip list 命令進行模組查詢、安裝、更新及移除等動作,建議安裝命令的順序為 conda、pip。

    • Python2.x 與 Python3.x 程式並不相容,Anaconda 虛擬環境可產生新的 Python環境。查看目前所有虛擬環境名稱 conda info -e

    • 如右圖:conda list 命令視窗會按字母順序顯示已安裝模組的名稱及版本。

(三)conda 常用命令

◆ conda list:顯示安裝的模組及其版本

◆安裝模組:conda install 模組名稱

◆ 更新模組:conda update 模組名稱

◆移除模組:conda uninstall 模組名稱

(四)pip 常用命令

◆ pip list:顯示安裝的模組及其版本

◆ 安裝模組:pip install 模組名稱

◆更新模組:pip install -U 模組名稱

◆移除模組:pip uninstall 模組名稱

  • 例1:更新 Spyder 版本→ 可輸入 pip install -U Spyder 即可。

  • 例2:安裝 pygame 模組:請在Anaconda Prompt 命令視窗,輸入命令 pip install pygame

資料分析:可安裝大量的資料分析套件

(五) Spyder 編輯器

  • Anaconda 內建 Spyder 為開發 Python 程式的編輯器。

(六)Python 軟體套件索引『PyPI』

  • Python Package Index,簡稱PyPI,是Python程式語言當中的軟體倉庫,請連結 https://pypi.org/ 即可搜尋。

三、Spyder 編輯器

編輯器介面功能

    • 啟動編輯器:請在程式集→Anaconda3→Spyder 即如下圖

    • Spyder 中可撰寫及執行 Python 程式,提供簡單智慧輸入及程式除錯功能,也內建 IPython 命令視窗。

四、程式的編譯與直譯

    • 電腦硬體僅認識『機器語言』(Machine Language)即機器碼(machine code),而機器碼是由許多的『0』與『1』數字所組成(即二進位),因此科學家開發『組合語言』(Assembly Language)使用簡單英文指令取代0與1。之後開發更接近人類語言的『高階語言』(High Level Language),讓程式開發速度大幅提升。如下圖:利用三種語言表示加法指令。

(一)編譯程式

人類撰寫 C++、BASIC等程式語言需藉由編譯器(Compiler)將程式語言翻譯成機器碼,後即可在電腦上執行。若要將程式語言使用在不同平台上,只要使用該平台上的編譯器重新編譯,程式碼即可在不同平台的電腦中執行,非常方便。 如下圖示,編譯程式流程圖。

(二)直譯程式

直譯語言不需編譯即可執行高階語言,它透過直譯器(Interpreter)將程式碼一行一行即時轉換成機器語言執行,雖在修改程式碼後不需編譯,但每次一行一行直譯為機器語言執行,導致執行效率比事先編譯過的程式差。如:Python 為直譯語言(官網 https://www.python.org/),預設附檔名為『.py』。

五、結構化程式設計(Structured Programming)

  • 結構化程式不允許無條件任意跳躍指令。

  • 常見的程式結構:循序結構、選擇結構、重複結構。

  1. 循序(Sequence)結構:電腦依循程式碼的順序,由上而下一行一行往下執行。

  2. 選擇(Selection)結構:電腦會依據「條件」,決定要執行哪一區塊程式碼。

  3. 重複(Iteration)結構:電腦重複執行同一程式區塊程式碼,直到滿足停止的條件為止。

學習資源

>>更多… https://tinyl.io/4o6u