PY 筆記 | Hello, Python

更新 發佈閱讀 8 分鐘

最近晚上閒來無事,所以開始在 Coursera 上學 Python,雖然才剛結束 1/5 的課程,但只能說,同樣身為直譯式語言,從 JavaScript 接 Python,在撰寫邏輯上沒什麼太大的銜接困難。

要寫 Python 的方式有很多,像我一個當數據工程師的朋友式直接寫在 AWS lambda 或 Notepad++ 中,而我則是選擇沿用 VScode 來做為編輯器。

如何在本地端安裝 Python,我之前寫過一篇關於 AWS 部屬的文章,裡面有寫到,可以參考一下。安裝完後只要在 VScode 安裝 Python 套件就能順利在 VScode 寫 Python 了。

raw-image

然後在 VScode 中的設定更改一下下圖的設定,不然 Python 中的 input 語法會找不到輸入的地方。

raw-image



Python 語法

從 JavaScript 過來寫 Python,比較需要習慣的是定義區塊程式碼的差別。比如判別式 if-else,在 JavaScript 中我們會用 {...} 包起來作為一個區塊:

if(A){
// do something
}else{
// do another thing
}

但在 Python 中,是使用縮排來定義區塊程式碼,所以 if-else 會變這樣:

if A:
# do something
else:
# do another thing

原本在 JavaScript 為了提高程式碼可讀性的縮排到了 Python 被賦予有意義的使命。



判別式

判別式是寫程式的靈魂之一,上面已經介紹了最基本的判斷式寫法,對於那些需要做多項判斷的事件,比如下列範例的依據使用者成績輸入來回傳成績等第,可以這樣寫:

grade = input('enter your grade:')
grade = float(grade)

if grade > 1 or grade < 0:
print('you must enter the number between 0-1')
elif grade >= 0.9:
print('A')
elif grade >= 0.8:
print('B')
elif grade >= 0.7:
print('C')
elif grade >= 0.6:
print('D')
else:
print('F')

在這裡解釋一下,input 允許使用者輸入一段內容,默認型態是字串,所以會用 float 轉成浮點數才能進到判別式中一層層做比較。



函式

同樣,我們在 JavaScript 中會用 function 來定義函式,但在 Python 中必須使用 def 來定義函式:

def computepay(a, b):
ta = float(a)
tb = float(b)
if ta < 40:
return ta * tb
else:
return 40 * tb + (ta - 40) * tb * 1.5

hrs = input('enter hours:')
rate = input('enter rate:')
print(computepay(hrs, rate))

向上述就透過 def 和縮排定義了一個函式,並在 print 中呼叫了這個函式。



迴圈

Python 的迴圈同樣有 whilefor 迴圈,針對不同需求有不同應用。while 適合在不知道循環次數,只想針對某一個條件一直執行程式碼時使用;for 就適合用在規定尋換次數下執行程式碼。

我們可以寫個簡單的 while 迴圈,根據使用者的輸入來決定迴圈是否繼續執行:

while True:
try:
num = input('enter number')
if num == "done":
break
else:
trNum = float(num)
if largest == None and smallest == None:
largest = trNum
smallest = trNum
elif largest < trNum:
largest = trNum
elif smallest > trNum:
smallest = trNum
except:
print('Invalid input')
continue
print('Maximum', largest)
print('Minium', smallest)

上述的意思是,當使用者輸入 done 時,就透過 break 跳出迴圈繼續執行之後的 code,而如果輸入的是數字就一直執行這個迴圈,直到使用者輸入 done 為止。

在上述還可以看到一個 try-except 的用法,這是 Python 中做例外處理的語法,是為了避免程式碼出錯而程式運行中斷而產生的語法。

當我們不寫 try-except,把上面的 code 改成這樣:

largest = None
smallest = None

while True:
num = input('enter number')
if num == "done":
break
else:
trNum = float(num)
if largest == None and smallest == None:
largest = trNum
smallest = trNum
elif largest < trNum:
largest = trNum
elif smallest > trNum:
smallest = trNum
print('Maximum', largest)
print('Minium', smallest)

程式碼仍然可以執行,但如果用戶今天輸入的內容無法轉為數字,比如輸入 "ABC",因為 float 無法將其轉為浮點數,所以 Python 會噴出一段錯誤 ValueError: could not convert string to float: 'ABC',並中斷程式執行。

而靠著 try-except,我們可以讓程式碼優先執行 try 區塊中的邏輯,當如果出現錯誤才去執行 except 中的事情。

一開始的 while 迴圈中的 try-except 就是跟 Python 說:如果出現錯誤 (使用者輸入無法轉成浮點數的內容),就印出一段訊息,並透過 continue 重新執行迴圈。

最後看一下 for 迴圈,基本上只要定義好執行次數 (範圍),就領會 for 迴圈的精隨了,例如印出最經典的 1-5 數字:

for i in range(1, 6):
print(i)



參考資料

  1. Python for Everybody
  2. Python: Visual Studio Code (VS code) 程式碼input(),終端機卻無法輸入資料且顯示亂碼,該如何設定?
留言
avatar-img
Jeremy Ho的沙龍
20會員
37內容數
這個專題用來存放我在學習網頁開發時的心得及知識。
你可能也想看
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
Thumbnail
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
建置 vscode + python 開發環境的完整流程,詳細且附圖
Thumbnail
建置 vscode + python 開發環境的完整流程,詳細且附圖
Thumbnail
從 JavaScript 到 Python
Thumbnail
從 JavaScript 到 Python
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
剛開始學一個新的語言,第一個面臨的問題就是,需要先學習架設程式語言的環境。為了避免架設環境而降低學習的熱情,我們可以先使用 Repl.it 協助我們先練習Python 的基本語法。
Thumbnail
剛開始學一個新的語言,第一個面臨的問題就是,需要先學習架設程式語言的環境。為了避免架設環境而降低學習的熱情,我們可以先使用 Repl.it 協助我們先練習Python 的基本語法。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News