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
留言分享你的想法!
avatar-img
Jeremy Ho的沙龍
19會員
37內容數
這個專題用來存放我在學習網頁開發時的心得及知識。
你可能也想看
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
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 的基本語法。
Thumbnail
該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
Thumbnail
該篇文章首要為 1.下載python與文字編輯器vs code (Visual Studio Code) 2.撰寫第一支python程式
Thumbnail
PYTHON 介紹 Python 是一種被廣泛使用的高階編程語言,它的用途十分廣泛,支援了多種的程式設計的範式,包括函數式、指令式、結構化、物件導向。 Python的設計哲學強調了它簡潔的語法,是使用空格縮進來劃分程式碼。 Python是的社群中擁有許多模組可以使用,在進行某些用途時可以很引入模組,
Thumbnail
PYTHON 介紹 Python 是一種被廣泛使用的高階編程語言,它的用途十分廣泛,支援了多種的程式設計的範式,包括函數式、指令式、結構化、物件導向。 Python的設計哲學強調了它簡潔的語法,是使用空格縮進來劃分程式碼。 Python是的社群中擁有許多模組可以使用,在進行某些用途時可以很引入模組,
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News