Day 02 語言起源及安裝使用:偉大的東西常常是無心插柳柳橙汁
註:本篇文章同步刊載於iT邦幫忙,為鐵人賽之系列文章。https://ithelp.ithome.com.tw/articles/10237509
第二天的文章,我們來介紹Python的起源和基礎安裝流程。
Python的創始人是吉多·范羅蘇姆(Guido van Rossum),
在1989年聖誕節打發時間開發出來的。
後續經過一連串的發展,有興趣的可以Google一下,
我們只需要知道幾個最簡單的點:
- 主流版本有分Python 2.x和Python 3.x,
但Python 2.x系列目前已經不再維護,
所以如果沒有特別需求(例如使用先前別人用Python 2寫的程式),
直接選擇最新的Python 3.x版本 即可。 - Python的開發演進標準是根據PEP系列 (Python Enhancement Proposals)
一般而言,透過開發社群討論提議後,
納入PEP的S系列(Standards Track PEP)匯總,
最後再進行必要的修改/做出新功能並演進更新。
這中間有可能出現吵不出個結果的狀況,
這時候需要BDFL(仁慈的獨裁者) 來做最後裁決,
首位的仁慈的獨裁者即為Guido本人。
可想而知,這個壓力有點太大了XD
畢竟每次跳出來喊:
「你們不要打了,要打去練舞室打!」
也是很累的,還要擔心自己撞上砲口QQ
所以Guido後來在2018講說不幹啦!
接著我們來介紹一下怎麼安裝Python吧!
如果是Windows作業系統的話,請至
https://www.python.org/downloads/windows/
以撰寫當日來說最後一次的release為3.8.5
(Latest Python 3 Release — Python 3.8.5)

接著往下拉到底端,如果你的電腦是64位元就請選”x86–64"的選項,
否則請選”x86"的選項。
如果讀者使用Mac或Linux,就請依照各自對應的版本做下載。

下載完成後打開進行安裝,將”Add Python 3.8 to PATH”打勾後,
選擇”Customize installation”。

-> Next

-> 將Install for all users及Precompile standard library都打勾,
並將安裝路徑選擇一個你記得住的名字。
(一般會選在Program Files底下,讀者自訂也可)

-> 允許UAC給權限後,進行安裝

安裝完畢後(Close結束),
我們應該要能在命令提示字元下找到Python,先打開命令提示字元:
(Win Key + R -> 輸入cmd後Enter)

(或者按開始,在搜尋列打cmd後按Enter鍵)

好啦,我知道這條很長XD
在命令提示字元打入”python -V”,正常的話,
應該會顯示我們剛剛安裝的版本。(3.8.5)

在這個模式下輸入”python”,
可以進入直譯器(REPL Read-Eval-Print-Loop,或稱Python Shell),
輸入指令或運算會在運算的同時將結果輸出到螢幕上。
(但是一旦離開,所有記錄就會消失了)

輸入”python [檔名]”的話,會嘗試將該檔案做為python的程式碼執行,
通常我們會將副檔名命名為.py
假設我們在現在這個資料夾有一個fromzero.py如下:

那麼,在命令提示字元輸入”python fromzero.py”,
其結果如下:

讀者可以照著試打出來,中文想印出的部分可自己亂打沒關係XD
簡單解釋這當中發生什麼事情:
執行一段程式的順序是由第一行一路往下走到最後一行,
所以我們會先看到有一個a,一個b,分別被設定為10跟5,
然後被print(a * b)印出來,
也就是先將結果算出來,再輸出到螢幕上,於是得到50。
第四行則是將前面一串字印出來以後,串接上a和b相乘的結果,
str()的目的,則是將a和b算出來的數字轉換成字串,
這樣才能和前面的字串進行串接。
初學者可能還不太懂,沒關係,我們後面會再慢慢解釋XD
那就明天見啦!
註:
對一般人來說,可能命令提示字元並不是很友善,
因此,建議讀者可以另行安裝IDE來處理,
能夠得到更多方便的提示,操作也比較容易上手。
常見的如PyCharm 或VSCode 均可,安裝部分Google一下應該不會太困難,
這邊就不再贅述了。
或者,讀者想直接在線上作業也可以,
可以使用如 https://repl.it/ 之類的平台即可。
後續的文章中,將預設使用者是使用自己的文字編輯器,
如Notepad++/VSCode/PyCharm/Vim/Atom/ …等,
把程式碼完成後,使用**”python xxx.py”** 的形式來執行。
工商時間:
抽獎活動還在繼續累積人數(現在好像沒有人想抽XD)
在Python Taiwan的連結第100篇的文章 底下,
公開分享到你的臉書、按讚該篇文章、並留言告訴我說,
「你最喜歡這一整個系列的哪一篇?為什麼?」或
「除了從LeetCode學演算法系列以外,
你還想要看到關於什麼方向的文章?」
超過20則留言的話 (有完成以上步驟的才算),我們就抽一組
「從Leetcode學演算法|進階篇」+「從Leetcode學演算法|面試篇」
課程的免費兌換券進行贈送!
期限嘛…就延長到滿人數吧XDD (不然也沒辦法哈哈)
容筆者工商一下,
「從Leetcode學演算法|進階篇」 開放預購啦!
這次選了40道難度加深的LeetCode題目,
同樣也會細部解說對應的技巧及須要掌握的演算法!
同時這次購買進階篇的話,
額外還加贈**「從Leetcode學演算法|面試篇」** !
當中包含了面試準備須知分享 ,及訪談國內外不同經驗的工程師 ,
讓你不論是想走前端/後端/一般軟工 或者是想找國外的工作 ,
是初學想轉職 還是正在工作 ,都能夠從中得到收穫呦!
有興趣的朋友可以使用下面的早鳥優惠~
「從Leetcode學演算法|進階篇」+「從Leetcode學演算法|面試篇」 :
https://bit.ly/advleetcode
「從Leetcode學演算法」全套(基礎/進階/面試篇)同捆優惠:
https://bit.ly/allleetcode
