PY 筆記 | Hello, Python

更新 發佈閱讀 8 分鐘

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

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

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

vocus|新世代的創作平台

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

vocus|新世代的創作平台



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
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
Python 是目前主流的程式語言之一,不論是網路上亦或是各大書局。都有豐富的學習資源,如果你是程式語言的初學者,那以 python 作為入坑的第一步來解決不論是生活/工作上的大小事都是非常適合的一個'工具'。 接下來介紹如何安裝python,以及我自己一直都在使用的IDE(整合開發環境)。
Thumbnail
該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
Thumbnail
該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
Thumbnail
從 JavaScript 到 Python
Thumbnail
從 JavaScript 到 Python
Thumbnail
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
Thumbnail
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用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(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
建置 vscode + python 開發環境的完整流程,詳細且附圖
Thumbnail
建置 vscode + python 開發環境的完整流程,詳細且附圖
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News