# [Python] 環境建置篇 ## 前言 Python在最近幾年相當火紅,已好幾年獲選年度最受歡迎的程式語言。但是,Python究竟厲害在哪呢?Python在設計上,就與其他程式語言大不相同。其捨去了花括號`{}`、分號`;`等在其他語言相當常見的符號,並大量使用縮排(indentation)來規範語法。藉此,Python的語法變得十分簡潔,且順便達成了風格(programming style)統一。 Python是一個直譯語言,其可以利用直譯器(interpreter)對於`.py`檔案直接逐行解析並執行。如此,`.py`檔執行前後並不會產生額外的副檔案。不過,直譯的缺點是效率低落,而原因待會會用一些例子向您說明。 > `.py`為Python檔案的後綴。其編碼格式為`utf-8`,與一般文字檔案相同!所以`.py`檔案是可以用記事本(notepad)等軟體進行編輯的喔! ## 編譯還是直譯? 說到這邊,我們可以來比較一下編譯(compile)與直譯(interpret)的差異。 | | 編譯 compile | 直譯 interpret | | :---: | :---: | :---: | | 邏輯 | 將文字檔案**翻譯**成二進位檔案 | 直接執行文字檔案 | | 結果 | 會產生一個`.exe`檔案並執行它 | 中途不會產生其他檔案 | | 效率 | 非常高(執行`.exe`檔時不必再翻譯) | 非常低 | | 特點 | 只要語法有錯 編譯時期就會被抓到 | 只會在執行到錯誤的行數時才會報錯 | | 舉例 | c / c++ / rust / java | python / javascript | 電腦是binary的編碼格式,在硬體層是用高電位(1)與低電位(0)來儲存此資訊,而人類很明顯不是以1/0溝通。所以翻譯人類看得懂的格式給電腦看是非常重要的。編譯器與直譯器都有此功能。而差別可以用以下舉例說明。 小傑(非本人🤣)作為一個以中文為母語的人類,並不懂其他語言,但是小傑是一個數學天才,全世界的人都想問他數學問題。但是小傑發現,好多人寄來的數學問題都不是以中文敘述,~~所以小傑決定放棄他們(X)~~,所以小傑決定請一個翻譯專家進行對這些題目進行翻譯。 | 角色 role | 對照 reflection | | :---: | :---: | | 小傑 | 電腦 | | 中文 | 二進位 | | 其他語言 | 文字格式 | | 翻譯專家 | 編譯器或是直譯器 | 翻譯員試了兩種方式 1. 整份翻譯完後重寫一份以中文為敘述的題目給小傑寫 2. 在小傑身旁逐行翻譯念給小傑,小傑一邊寫題目 | 1 | 2 | | :---: | :---: | | 編譯器 | 直譯器 | | 會產生新檔案 | 不產生新檔案 | | 寫題目的效率很高 | 寫題目的效率很低 | 這就是編譯器與直譯器的區別啦! ## 直譯語言的特徵 總得來說,直譯的特徵就是可以逐行執行,不用整份檔案先翻譯過一遍就可以直接執行了。 這個模式不就與powershell有點像嗎? 沒錯!powershell的指令也是逐行執行 開啟你的powershell,並打入`echo "Hello world"`,接著enter:  指令就被完美的執行了! powershell也不是只能一次一行輸入,我們可以使用`.ps1`檔案後綴創建powershell script檔案! 讓我們創建`test.ps1`檔案  打入以下cmdlet  > `clear`表示清除目前終端機畫面 > `echo "<Message>"`表示在終端機印出東西 > 有興趣的話可以上網找找其他powershell指令 > [👉像是這個網站](https://ss64.com/ps/) 儲存,最後...執行它!(可以雙擊執行也可以在powershell裡面呼叫它) 以下筆者在powershell裡面執行`test.ps1`  然後按下enter鍵...  就成功一次完成兩個指令了😏 這邊,`test.ps1`在運作上還是一行一行作執行,powershell一次讀取一行,並一次執行一行。 > powershell是windows上專屬的工具,在macOS與Linux等UNIX架構的軟體上面叫做bash > `.ps1`為powershell的檔案後綴。bash的檔案後綴為`.sh`。 ~~講那麼多,終於要重返Python了。~~ Python在安裝完後會給予你一個可以直接執行Python code的小視窗。  我們是可以直接在裡面一次打一行,一行一行執行的!  是不是很像powershell呢! 直譯語言大多數都會給予這種工具以用來快速執行一些小工作! 這也是直譯語言的特徵之一。 ## 被耽誤很久的環境建置 ### 編輯器 Python有相當多編輯器可以進行編輯。而[PyCharm](https://www.jetbrains.com/pycharm/download/#section=windows)就是其中之一,其是相當多人喜愛的一個Python IDLE(Intergraded Developement Learning Environment),筆者也覺得其非常好用,也適合新手學習。 不過,筆者這邊會教大家安裝[visual studio code](https://code.visualstudio.com/),其作為Microsoft近年來最成功的一個軟體,擁有相當廣大的社群,且vscode有相當多好用的extension,之後筆者會寫一篇文章來推薦給大家好用的extension。 至於怎麼下載,~~這是個秘密~~😎。 沒啦,到[這個網站](https://code.visualstudio.com/),選擇相對應的系統下載安裝工具,然後一直按next就好! vscode還有相當多的設定可以慢慢調整,期待筆者某一天會心血來潮寫一篇文章,再分享給大家😘。 ### Python套件 有經驗的人可以直接到[Python官網](https://www.python.org/downloads/)選擇需要的版本。 筆者這邊帶大家安裝[Python 3.11.3](https://www.python.org/downloads/release/python-3113/)! > Python的版本號與大多軟體的版本號採用一樣的命名規則。 > > `[major].[minor].[micro]` > > `major`指的是主版本號,現今Python是以3為發展重心。 > Python 2並不是沒人使用,但是也不推薦初學者先去學習Python 2。 > `minor`指的是副版本號,目前8~12都是相當不錯的選擇。 > `micro`是修訂號,專門為修bug而生的版本號。 > > 舉例來說: > `major`就像是手遊的大更新,從地圖、介面到遊戲機制 > `minor`就像手遊多了一個新活動、新角色,但是主體大致不變。 > `micro`就像是手遊修bug,微不足道但是十分重要。 首先,下載與自己電腦相對應的安裝檔。  接著打開下載完的安裝檔,基本上按幾個按鈕就可以了。 ### 如何確認自己有沒有安裝成功? vscode安裝完會直接多出一個應用程式出來,所以不太需要測試。 但是Python安裝會牽扯環境變數等等的東西,所以需要測試。 打開powershell(bash、cmd、terminal),打上`python --version`。 若系統回應的不是紅字,那恭喜你,你的環境建置就成功了!😀 ## 進階問題 以下這些問題是**當碰到時再去查系列**,若沒有這些需求可以跳過。 ### 我該怎麼更新我的Python版本? 這邊的版本都是`micro`版本,`major`版本一般來說是被視作完全不同的程式語言看待!而`minor`版本將會是視作不同的安裝檔案! 直接到[官網](https://www.python.org/downloads/)選擇要的版本,**當作是第一次下載一樣直接下載、安裝**。 Python的installer有能力辨識出你是要從零開始安裝還是更新版本,所以,直接下載吧!😉 ### 我的電腦有好多個Python版本,我要怎麼自由切換? 這邊的版本都是`minor`版本。 *for windows* 你可以到環境變數裡頭。(`win + s` > `搜尋環境變數(environment variable)`) 點選環境變數(Environment Variables)  點選上面區塊的`Path`並按下編輯。  選擇你要的Python版本,分別點選相對應的兩個變數,按上移、下移來改變他們的相對位置。 你要的版本要擺在這些Python版本的相對最上面。 兩個變數要一起移動。  最後,移駕到終端機,打上`python --version`,如果看到系統的Python版本已改變就大功告成了!😉
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up