跳到主要內容

[2021 IT鐵人賽] Day 08:Python基本介紹01 | 環境架設、Hello Python!

到目前為止,我們已經學了網頁前端的HTML和CSS,但在開始爬蟲前還有一個很重要的東西要學,那就是Python。

因此接下來幾天我會開始介紹Python的基礎語法,那我們就開始吧!

Python是什麼?

Python是一種廣泛使用的直譯式、進階和通用的程式語言。

Python的設計哲學強調程式碼的可讀性和簡潔的語法,尤其是使用空格縮排劃分程式碼塊。相比於C或Java,Python讓開發者能夠用更少的代碼表達想法。不管是小型還是大型程式,該語言都試圖讓程式的結構清晰明瞭。

– 維基百科

看完還是霧煞煞嗎? 那我們來看這段影片:

以上影片大概說明了幾個Python的優點:

  1. 簡潔的語法:完成一樣的工作,Python的程式碼就是比其他程式語言少。
  2. 直覺、好入門:Python的語法比較貼近人類的語言,使得Python成為很適合程式新手入門的語言。
  3. 非常多應用:你可以使用Python統計資料、繪製圖表、開發應用程式…等等,以及我之後要教你的 - 網頁爬蟲。
  4. 廣大的社群:使用Python的人越來越多,也就意味著有更多的資源、套件可以使用,這大大提升了開發上的便利性。’

以上幾點就是為什麼大家那麼喜歡用Python,以及你現在為什麼要學Python的理由。

環境架設

首先需要建立Python的開發環境,用於管理所有下載的套件,我這邊使用Anaconda來建立開發環境。

Anaconda

Anaconda是 Python 及 R 語言的一個免費開源發行版本,主要用於資料科學(Data Science)、機器學習(Machine Learning)等領域,可對許多套件(Packages)進行管理,超過7,500個資料科學及機器學習套件提供查找及安裝,管理環境也相當容易,是目前全世界最受歡迎的 Python 資料科學平台,全球擁有超過2000萬用戶。

Anaconda3 目前有三種版本,分別是個人版(Individual Edition)、團隊版(Team Edition)及企業版(Enterprise Edition),這裡使用免費的個人版就夠用了。

安裝教學

  1. 首先到Anaconda個人版,滑到下方Anaconda Installers的地方,依照你的作業系統選擇下載的版本,範例是下載Windows 64bits的版本,點擊後會開始下載到你的電腦上(檔案稍大,需要等一會兒)。

  1. 下載完後點開執行檔,按Next

  1. 問你同不同意授權,就像平常一樣沒仔細看就按Agree。

  1. 詢問安裝對象,這邊照著建議選擇Just me就好。

  1. 選擇下載路徑,檔案大小有2.9GB,要注意自己硬碟的容量。

  1. 除非有特殊需求,不然這些設定都不用改,完成後按Install。

  1. 下載完後,就一直Next直到Finish。
  2. 打開開始,應該會在最近新增看到Anaconda資料夾,裡面有一些載好的程式。

  1. 下載完成了!

套件管理

  1. 打開Anaconda Prompt,打開是一個CLI介面。

  1. 打上指令pip list,顯示所有已經安裝的套件。

  1. 指令pip install 模組名稱,安裝模組和它的相關模組(安裝要一段時間),已經下載過了也會告訴你,之後要安裝套件就是這樣安裝。

Python版本檢查

輸入指令python -Vpython --version,如果出現版本號碼就是成功了!

Hello Python!

下載Anaconda的同時其實也下載了幾個內建的IDE(整合開發環境)和Editor(編輯器),像是Spyder、Jupyter Notebook…等等

但我個人不太喜歡用Spyder,因為打開都要等好久@@。Jupyter Notebook雖然好用,但對新手來說也不太友善,所以我習慣還是使用VScode進行開發。當然你已經習慣了其他編輯器也OK,開發上不會差太多。

VScode外掛

Python

Python套件提供Python語法自動補全和除錯。

在VScode側邊欄位Extensions的地方搜尋 “Python”,找到由Microsoft開發的套件後安裝下來。

Code Runner

Code Runner套件可以執行多種程式語言,包括Python。

在VScode側邊欄位Extensions的地方搜尋 “Code Runner”,找到後安裝下來。

Python直譯器 (Interperter)

因為Python是一種直譯式語言,所以接下來,我們要告訴VScode,我們要用哪個Python的直譯器執行。

  1. Ctrl+Shift+P,然後搜尋 “Python: Select Interperter”

  1. 然後選擇你要的編譯器,因為我們是透過Anaconda下載Python,所以選擇 “(“base”: conda)” 這一個。

  1. 左下角如果有出現直譯器名稱,那就是完成啦!

Print Hello

我們的第一個Python程式從印出 “Hello Python!” 開始!

  1. 左方Explorer中,按下Open Folder,然後選擇任意一個你想放程式碼的資料夾。

  1. 打開後,按下New File按鈕,檔案名稱命名為hello.py。VScode會自動將副檔名為.py的檔案視為Python程式碼。

  1. 在中間編輯區域輸入以下程式,輸入完後按Ctrl+S存檔。
print("Hello Python!")

print()是Python的函數,功能是在terminal印出內容。

  1. 存檔完後要執行程式碼,有兩種方法:
  • Ctrl+F5
  • Ctrl+Alt+N或點右上角的三角形按鈕

  1. 執行後如果在下方區塊看到Hello Python!,恭喜你,你完成了你的第一個Python程式了!

同場加映:我個人很推薦的幾個外掛

以下這些外掛都是改變VScode外觀的,不裝不會影響程式執行,但裝了會讓你的奇模子變好~

  • Bracket Pair Colorizer:將括號用顏色區分,更好辨識括號。
  • vscode-icons:讓側邊導航欄的檔案顯示比較好看的圖示。
  • One Dark Pro:改變VScode的顏色風格,黑色風格不但省電也比較不傷眼。

小結

今天我們介紹Python這個最熱門、最潮的程式語言,告訴你為什麼要學Python後,帶領你安裝Python的開發環境 - Anaconda以及最後在VScode上使用Python印出Hello Python!

接下來幾天,我會開始從Python的基本語法教起,請大家拭目以待,我們明天準時再會~


如果喜歡這系列文章麻煩幫我按Like加訂閱,你的支持是我創作最大的動力~

本系列文章以及範例程式碼都同步更新在GitHub上,後續會持續的更新,如果喜歡也麻煩幫我按個星星吧~

有任何問題或建議,都歡迎在底下留言區提出,還請大家多多指教。


如果喜歡這篇文章,請訂閱我並且拍五下手給予回饋(使用Google或Facebook帳號免費登入,只需要30秒),資金由LikeCoin提供,完全不會花到各位半毛錢!

因為您的支持,我才更有動力創作出更優質的文章~

留言

這個網誌中的熱門文章

[遊記] 2022/07/22 南寮漁港、香山濕地

前言: 2022年的暑假,我來到新竹的工研院實習,因此有了兩個月好好探索這座陌生城市的機會。我在來之前就計畫好了,每周五要選一個地方去旅行,目標是在兩個月內把整個新竹玩透透! 來到了第三個禮拜,今天我約了新竹在地人的大學朋友,請他騎機車載我到處逛逛😆 不過因為他早上有事情,所以我們就約中午吃飯。中午我們去吃城隍廟附近的 阿桂羊牛雜 ,我點了朋友很推的 羊肉炒麵 ,這家的炒麵很特別,醬汁很濃稠,沙茶味很香~ 我點加辣但有點太辣了,下次可能點小辣就好。另外有附飲料和冷氣這點很加分。 (只顧跟朋友聊天,就忘記拍照了😂) 阿桂羊牛雜 羊肉炒麵 $100 推薦指數:4⭐ 吃完飯後,本來想去南寮漁港,但因為今天的太陽真的太大了! 所以朋友就提議先去 新竹巨城 吹冷氣,晚點再去南寮漁港。雖然已經來過巨城一次,但跟別人一起逛就是不太一樣。我們去逛了服飾店、書局和湯姆熊,不知不覺就三點了。於是就離開巨城前往南寮漁港囉~ 本來以為 南寮漁港 很遠,但騎機車一下子就到了,果然在新竹還是要有機車比較方便阿! 我們先去南寮漁港的遊客中心,展望台的景色很不錯,室內還有溜滑梯可以玩呢! 接著我們在附近的魚市場、國際風箏場等地方邊聊邊走,最後走到 魚鱗天梯 。 魚鱗天梯看起來的確很像魚鱗,但聽說他的功能其實是消波塊,還真酷! 底下就有一小片沙灘,因為我今天穿拖鞋,就有下去踩一下海水。不過這裡的海水沒很乾淨,上來後腳上全都是沙子,幸好旁邊就有可以洗腳的地方。 其實旁邊有個滿有名的 17公里海岸自行車道 ,不過我們比較晚才到,所以就沒租腳踏車去騎了。 接著就往南到 香山濕地 ,騎機車也是一下就到了。 香山濕地就像小型的高美濕地,一旁的 賞蟹步道 可以直接走在溼地上方。 賞蟹步道兩旁真的很多螃蟹,照片裡的白點都是螃蟹哦! 當時剛好碰上漲潮,於是我們就在步道上拍起縮時攝影,從影片中可見漲潮的速度有多快! 香山濕地也是看夕陽的好景點,只是有點太早來了,於是我們走去旁邊的 綠色隧道 ,等待夕陽下山。 最後終於等到夕陽了! 加上倒影還滿漂亮的,只可惜今天海面有點雲,無緣看到夕陽落到海平面之下的景色。 最後順路繞去附近的 青青草原 ,雖然天色已經暗了下來,不過因此溜滑梯都不用排隊,可以多溜了幾趟😁 我們也去看了一眼大草原,但因為傍晚有一堆蚊蟲,所以就趕緊撤退了! 最後晚餐去吃 蛋包飯 ,這家也是朋友推薦的...

[Python] async def & await 重點整理

最近實習要用到 FastAPI ,我發現 FastAPI 的 path operation function 會使用 async def ,還會搭配使用 await ,因為對這兩個關鍵字沒很熟,所以就藉機紀錄一下,也避免之後忘記。 async def & await 使用情境 我直接利用下面這個例子來展示什麼情況下可以使用 async 和 await 。 import time def dosomething ( i ): print ( f"第 {i} 次開始" ) time.sleep( 2 ) print ( f"第 {i} 次結束" ) if __name__ == "__main__" : start = time.time() for i in range ( 5 ): dosomething(i+ 1 ) print ( f"time: {time.time() - start} (s)" ) 執行後應該會像這樣。 第 1 次開始 第 1 次結束 第 2 次開始 第 2 次結束 第 3 次開始 第 3 次結束 第 4 次開始 第 4 次結束 第 5 次開始 第 5 次結束 time: 10.048049688339233 (s) 這非常直覺,因為每次呼叫 dosomething() 時都會等待2秒,等完才會執行下一輪,所以最後執行總時間是10秒相當合理。 但仔細想想,如果那2秒是做網路請求或檔案讀寫(IO),這2秒是不需要CPU的,但CPU就只能發呆2秒,痴痴地等待回傳結果,其他什麼事都不能做,豈不是太浪費了嗎!? (學過作業系統的人就知道,絕對不能讓CPU發呆XD) 因此 Python 就有了 asyncio 這個工具,來徹底的利用(X) 榨乾(O) CPU的效能。 我把剛才的例子改成 asyncio 的版本。 import time import asy...

[2021 IT鐵人賽] Day 23:專案05 - KKBOX風雲榜02 | AJAX

昨天已經找到的KKBOX用來傳資料的API,也知道各個參數的意義了,今天就實際將資料抓下來吧! 歌曲資訊 回到昨天那個API,是用JSON格式傳遞資料,資料的格式大致如下: 我們可以發現新歌的資料都放在 “newrelease” 之下,一個element就是一首歌的資訊,另外,每首歌的資訊也以key:value的形式整理的很清楚。 接著,就用之前教過的 requests.get(url) 直接取得API回傳的資料,但回傳的型態是json字串,所以再用Python本身內建的 json.loads() 函數轉成Python的list和dict資料型態。 # KKBOX華語新歌日榜 url = "https://kma.kkbox.com/charts/api/v1/daily?category=297&lang=tc&limit=50&terr=tw&type=newrelease" # 取得歌曲資訊json檔 response = requests.get(url) # 將json字串轉為Python的字典型態 data = json.loads(response.text) 既然已經轉成list和dict的型態了,再根據剛才觀察API得知的架構,要篩選資料就非常簡單,直接來看程式碼: song_list = data[ "data" ][ "charts" ][ "newrelease" ] # 取得每首歌的排名、曲名、連結、作者、時間 for song in song_list: song_rank = song[ "rankings" ][ "this_period" ] song_name = song[ "song_name" ] song_url = song[ "song_url" ] song_artist = song[ "artist_name"...