無論是數據分析、人工智慧還是網站開發,Python 憑藉其簡單易懂的語法和強大的功能,迅速成為全球最受歡迎的程式語言之一。對於想要在職場中脫穎而出或轉換跑道的初學者而言,學習 Python 是一個明智的選擇,透過以下精心整理的「Python 教學基礎篇」,你將全面掌握 Python 必備的基礎語法和符號應用,打下穩固的程式語言基礎!
工欲善其事,必先利其器!認識 Python 開發環境 (IDE)
在正式進入 Python 教學前,需要先為學習 Python 準備適當的開發環境。Python 開發環境(IDE)是用來編寫、調試與執行程式碼的工具,目前主要有兩種類型:本機端開發環境與雲端開發環境。根據個人的需求與使用習慣,可以選擇最適合的開發環境來提升學習與工作效率。
Python 開發環境(一)本機端開發環境
這類開發環境適合經常離線工作、希望完整控制開發環境配置的使用者,需要先下載並安裝相關的軟體工具,接著才能在電腦上編寫 Python 程式,如 Python 官方軟體或是 VS Code 編輯軟體都是相當受歡迎的選擇。此外,也建議設置 Python 虛擬環境(venv)、或使用 Anaconda 內建的 Python 環境管理系統 (Conda),為每個專案創建獨立 Python 環境,方便使用者管理不同專案。
Python 開發環境(二)雲端開發環境
若是希望快速上手且不想進行複雜安裝,則可以改為選擇雲端開發環境,如 Google Colab 雲端編輯器,只需要網路連線,就能直接在瀏覽器中編寫 Python 程式。
搞定開發環境設置的第一步後,接下來就帶大家進入基礎 Python 教學指南,跟著下文一步步學會基礎 Python 語法與符號吧!
基礎 Python 教學:輸出與輸入
在 Python 中,輸出與輸入是基礎的內建函式。透過輸出 print() 函式與輸入 input() 函式,初學者可以快速上手,實現簡單的資料顯示與互動功能。
【輸出】 print()
將資料輸出至螢幕上。
- 基本語法:print(‘輸出內容’)
- 常見參數:
- sep:輸出多個項目間以設定的分隔字元隔開,預設為「一個空白」。
- end:輸出完畢後加入的結束字元,預設為換行符 \n 。
- 範例:
print('Hello', 'World', sep='-', end='!')
#輸出結果:Hello-World!
【輸入】 input()
可以讓使用者輸入內容,按下 enter 之後再進行下方的動作,並將輸入的內容賦值給變數。
【實際應用】數字加總
a = int(input('輸入第一個數字:'))
b = int(input('輸入第二個數字:'))
print('兩個數字相加結果是:', a+b)
基礎 Python 教學:變數
Python的變數是用來儲存資料的容器,相當於給某個資料指定一個名稱,並將該資料保存起來。這些資料可以是數字、字串、布林值等多種資料型態。
- 基本語法:變數名稱 = 值
- 命名規則:
- 變數名稱只能以英文字母 (A-Z, a-z)、數字 (0-9) 以及底線 ( _ ) 所組成,且不得以數字開頭、中間不能有空格。
- 變數名稱的大小寫很嚴謹,例如 age 與 Age 是兩個不同的變數。
- 建議使用有意義的名稱來描述變數所儲存的資料,如 score、height,以提高程式可讀性。
- 不可使用Python內建保留字,如 for、True、False、and、if、or、else 等等。
- 範例:
【實際應用】學生分數計算
math_score = 85
#數學成績
english_score = 90
#英文成績
science_score = 88
#科學成績
average_score = (math_score + english_score + science_score) / 3
#計算平均分數
print("學生的平均分數為:", average_score)
#輸出結果:學生的平均分數為: 87.66666666666667
基礎 Python 教學:文字
Python 中的文字與數字是兩種不同的資料型態。數字可以用來進行數學運算,而文字(字串 string)則包含字母、數字、符號、標點、空格等內容,需要標上「引號」,且無法進行算術計算。
- 基本語法:"這是一個字串"或'這是一個字串'或'''這是一個字串'''
- 命名規則:引號內不可使用特殊字元,如 \r 。若要使用反斜線則要用 \\ 才能正確顯示。
- 範例:
a = ‘Python’
b = ‘教學’
c = a + b
print(c)
#輸出:Python教學
【實際應用】字串切片 (Slice):可以透過 [start:end] 語法來提取字串的特定部分。
a = ‘Python教學’
print(a[0:6])
#輸出:Python
【實際應用】字串長度:使用 len() 函式可以取得字串的長度。
a = ‘Python教學’
print(len(a))
#輸出:8
基礎 Python 教學:數字
數字是 Python 的基本資料型態,常見的數字類型包括整數、浮點數、底數以及布林值,這些數字可以進行各種運算,例如加減乘除等數學操作,也能在程式中用來做邏輯判斷或其他功能。
- 數字種類與規則:
- 整數 (Integer)
- 不帶小數點的數字,如 5、-3。
- 數字的「開頭」不可為 0 ( 除非是「底數」 )。
- 使用 int() 宣告,可將字串轉換成數字。
- 浮點數 (Float)
- 帶小數點的數字,如 5.1、-0.5。
- 使用 float() 宣告,可將字串轉換成數字。
- 底數:
- 用來表示二進制、八進制或十六進制數字。
- 二進制以 0b 開頭,八進制以 0o 開頭,十六進制以 0x 或 0X 開頭。
- 布林值 (Boolean)
- 只有兩個值,True 和 False,常用於邏輯判斷。
- True 相當於數字 1,False 相當於數字 0。
- 使用 bool() 函式,可將任何資料型態轉換成布林。
- 基本運算子:
- +:加法
- -:減法
- *:乘法
- /:除法
- //:整數除法,取整數部分
- %:取餘數
- **:次方運算
- 範例:
a = 5
b = 2
print(a + b)
#7
print(a - b)
#3
print(a * b)
#10
print(a / b)
#2.5
print(a // b)
#2
print(a % b)
#1
print(a ** b)
#25
【內建函式】
方法 |
參數 |
說明 |
int() |
x |
將 x 轉換成整數。 |
float() |
x |
將 x 轉換成浮點數。 |
abs() |
x |
回傳 x 的絕對值。 |
divmod() |
x, y |
回傳 x 除以 y 的商和餘數。 |
max() |
iter |
回傳可迭代物件 iter 裡的最大值。 |
min() |
iter |
回傳可迭代物件 iter 裡的最小值。 |
pow() |
x, y, z |
回傳「x 的 y 次方」或「x 的 y 次方除以 z 的餘數」。 |
round() |
x, y |
回傳四捨五入後的 x,y 表示四捨五入的小數點位數。 |
sum() |
iter, y |
回傳串列或 tuple 的數值與 y 的加總。 |
complex |
x, y |
回傳「x + yj」的複數形式。 |
bool() |
x |
將參數 x 轉變成布林值 False 或 True。 |
【實際應用】攝氏/華氏轉換公式
c = int(input('輸入 1 ( 攝氏 ) 或 2 ( 華氏 ):'))
#使用變數 c 記錄攝氏還是華氏
t = int(input('輸入溫度數值:'))
#使用變數 t 記錄要轉換的數值
if c == 1:
print(f'攝氏 {t} 度等於華氏 {9/5*t+32} 度')
#套用攝氏轉華氏公式
else:
print(f'華氏 {t} 度等於攝氏 {(t-32)*5/9} 度')
#套用華氏轉攝氏公式
#補充:在 '' 前加上 f,可使字串中被 {} 所括的變數被正確讀出,而不會視為字元。
基礎 Python 教學:縮排與註解
在 Python 中,縮排是用來區分程式碼不同區塊的重要格式。與其他語言使用大括號 {} 來標示區塊不同,Python 透過縮排來表示程式碼的結構。根據 Python 標準 (PEP 8) 的規範,通常使用「4個空白」來進行縮排,但也可以使用一個 tab 或 2-6 個空白,只要保持一致即可。
而註解是用來對程式碼進行說明和解釋的內容,並不會影響程式的執行。Python 提供3種註解方式:
- 單行註解:使用 # 開頭,該行後的內容將不會被執行。
#這是一個單行註解
print(‘Hello, World!’)
#這是程式碼後面的註解
- 多行註解:使用三個單引號 ''' 或三個雙引號 """ 包圍,可以進行多行註解,適合長段落的說明。
'''
這是多行註解,
可以用來描述較長的程式邏輯。
'''
print(‘Hello, World!’)
- TODO 註解:當程式碼有部分尚未完成或需要改善時,可以使用 #TODO 來標記待辦事項,方便日後回來修改。
#TODO:未來應該將此函式改為支援更多輸入參數
def simple_add(a, b):
return a + b
基礎 Python 教學:邏輯判斷式與迴圈
【邏輯判斷】
在 Python 中,邏輯判斷主要透過 if、elif 和 else 來實現,並決定某段程式是否執行。邏輯判斷可以根據條件來控制程式的流程,處理多樣的情境。
- 基本語法:
- if 條件:
執行程式
- elif 其他條件:
執行其他程式
- else:
執行預設程式
- 範例:
a = 5
if a > 10:
print("a 大於 10")
elif a > 3:
print("a 大於 3 且小於等於 10")
else:
print("a 小於等於 3")
【邏輯運算】
除了基本的 if 判斷外,還可以使用邏輯運算子 and 與 or 組合多個條件。「and」指當所有條件都成立時,結果為 True。而「or」只要有一個條件成立,結果便為 True。
a = 5
b = 10
if a > 3 and b < 15:
print("條件成立")
if a > 6 or b < 15:
print("至少有一個條件成立")
【重複迴圈】
當程式需要多次執行相同的操作時,可以使用迴圈來簡化程式碼。Python 提供 for 和 while 迴圈來處理這些情況。
- for 迴圈:用於遍歷一個可迭代物件(例如字串、串列)。
- 基本語法:
for 變數 in 可迭代物件:
執行程式
- 範例:
for i in range(5):
print(i)
#每行個別印出0 1 2 3 4,共5行
i = 0
while i < 5:
print(i)
#每行個別印出0 1 2 3 4
i += 1
【實際應用】計算成績等級
score = 85
if score >= 90:
print("成績等級為 A")
elif score >= 80:
print("成績等級為 B")
elif score >= 70:
print("成績等級為 C")
else:
print("成績等級為 D")
#輸出結果:成績等級為 B
基礎 Python 教學:串列 (list)
串列 (list) 是 Python 中最常用的資料結構之一,它可以儲存多個不同資料型態的元素,如整數、字串、甚至是其他串列。串列使用中括號 [ ] 來定義,並用逗號來分隔每個元素。串列的靈活性讓它在程式設計中極為實用。
- 基本語法:my_list = [內容, 內容, 內容]
- 範例:
- 建立串列:可以使用中括號 [ ] 來定義一個新的串列,也可以使用 list() 函式來將其他可迭代物件轉換為串列。
test = [123, True, 'word']
#建立多種資料型態在同一串列內
fruits = ['apple', 'banana', 'cherry']
#建立字串串列
numbers = list((1, 2, 3, 4, 5))
#使用 list() 建立數字串列
-
- 讀取串列中的元素:可以透過索引 (offset) 來取得特定位置的元素,索引從 0 開始,也可以使用負數來從後面開始讀取。
print(fruits[0])
#輸出 'apple'
print(fruits[-1])
#輸出 'cherry'
-
- 修改串列中的元素:可以直接透過索引來修改某個位置的元素。
fruits[1] = 'blueberry'
#將 'banana' 修改為 'blueberry'
-
- 添加元素:使用 append() 在串列末尾新增元素,或使用 insert() 在指定位置插入元素。
fruits.append('kiwi')
#在串列末尾添加 'kiwi'
fruits.insert(1, 'mango')
#在索引 1 處插入 'mango'
-
- 刪除元素:可以使用 remove() 刪除指定的元素,或使用 pop() 刪除並返回指定位置的元素。如果不指定位置,pop() 會刪除最後一個元素。
fruits.remove('apple')
#刪除 'apple'
last_fruit = fruits.pop()
#刪除並返回最後一個元素
【實際應用】學生名單管理
students = ['Alice', 'Bob', 'Charlie']
#學生名單
students.append('David')
#新增學生 'David'
students.remove('Bob')
#移除學生 'Bob'
print("更新後的學生名單:", students)
#輸出結果:更新後的學生名單: ['Alice', 'Charlie', 'David']
基礎 Python 教學:元祖 (tuple)
元組 (tuple) 是一種不可變的序列結構,與串列 (list) 相似,但元組一旦建立,內容便無法修改,因此特別適合處理需要固定資料的情境。元組使用小括號 () 來定義元素,並且如果只有一個元素,後面需要加上逗號來區分。
- 基本語法:my_tuple = (內容, 內容, 內容)
- 範例:
- 建立元組:可以使用小括號和逗號來定義元組,或者使用 tuple() 函式將其他資料結構轉換為元組。
fruits = ('apple', 'banana', 'cherry')
#使用小括號建立元組
numbers = tuple([1, 2, 3])
#使用 tuple() 函式將串列轉換為元組
-
- 讀取元組中的元素:元組的元素可以透過索引值來讀取,與串列的操作方式相同。
print(fruits[0])
#輸出 'apple'
print(fruits[-1])
#輸出 'cherry'
-
- 合併與重複元組:可以使用 + 號合併兩個元組,或者使用 * 號重複元組中的元素。
combined_tuple = fruits + numbers
#合併元組
repeated_tuple = fruits * 2
#重複元組
-
- 元組的不可變性:元組一旦建立,便無法修改其中的內容。如果需要修改元組,可以將其轉換為串列,進行修改後再轉回元組。
fruits_list = list(fruits)
#轉換為串列
fruits_list.append('grape')
#添加新元素
fruits = tuple(fruits_list)
#轉換回元組
print(fruits)
#輸出 ('apple', 'banana', 'cherry', 'grape')
【實際應用】計算兩點之間的距離
import math
#引用math函式庫
point1 = (0, 0)
#第一個點的座標(x, y)
point2 = (3, 4)
#第二個點的座標(x, y)
#使用勾股定理計算距離
distance = math.sqrt((point2[0] - point1[0]) ** 2 + (point2[1] - point1[1]) ** 2)
print("兩點之間的距離為:", distance)
#輸出結果:兩點之間的距離為:5.0
基礎 Python 教學:字典 (dictionary)
字典 (dictionary) 是一種用來儲存資料的容器,允許透過「鍵 (key)」來存取對應的「值 (value)」。字典沒有順序性,因此每個元素的存取是依賴於鍵而不是索引。字典的應用廣泛,可根據特定鍵快速查找和操作資料。
- 基本語法:my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
- 範例:
- 字典可以使用大括號 {} 或 dict() 函式來建立,鍵和值之間使用冒號: 來分隔。
person = {'name': 'John', 'age': 25, 'city': 'New York'}
empty_dict = {}
#建立空字典
-
- 讀取字典中的值:使用中括號 [ ] 或 get() 函式來讀取字典中的值, get() 函式能避免當鍵不存在時回傳錯誤訊息。
print(person['name'])
#輸出 'John'
print(person.get('city'))
#輸出 'New York'
print(person.get('address','未知地址'))
#鍵不存在時輸出 '未知地址'
-
- 修改字典中的值:可以透過指定鍵的方式來修改其對應的值,或使用 setdefault() 函式來添加新鍵值組。
person['age'] = 30
#修改年齡
person.setdefault('job','Engineer')
#新增職業
print(person)
-
- 刪除字典中的項目:使用 del 刪除特定鍵值組,或使用 pop() 函式將項目取出並刪除。
del person['city']
#刪除 'city'
x = person.pop('age')
#將取出並刪除 'age'
print(person)
-
- 結合字典:使用 update() 將多個字典結合,或使用 ** 將字典拆解為 keyword arguments 列表,再利用 {} 組合,將不同的字典合併為新的字典。
extra_info = {'weight': 70, 'height': 180}
person.update(extra_info)
#合併person與extra_info兩個字典
【實際應用】記錄商品庫存
inventory = {'apple': 50, 'banana': 100, 'orange': 80}
#讀取庫存量
print("蘋果庫存:", inventory['apple'])
#增加庫存
inventory['banana'] += 20
print("香蕉庫存更新後:", inventory['banana'])
#刪除商品
del inventory['orange']
#刪除柳橙的庫存
print("更新後的庫存:", inventory)
#輸出結果:
#蘋果庫存:50
#香蕉庫存更新後: 120
#更新後的庫存: {'apple': 50, 'banana': 120}
基礎 Python 教學:集合 (sets)
集合 (set) 是 Python 的一種資料結構,類似於字典,但集合裡只有鍵 (key),沒有對應的值 (value)。集合中的元素是唯一的,也就是說不會包含重複的資料。因此,集合非常適合用來處理需要去除重複值的操作,及查找交集、聯集或進行其他集合運算的情況。
- 基本語法:my_set = {1, 2, 3, 4}
- 範例:
- 建立集合:使用 set() 或大括號 {} 來建立集合,注意大括號建立的是集合,而不是字典,字典需要鍵值對。
my_set = {1, 2, 3, 4}
#使用大括號
empty_set = set()
#使用set()建立空集合
-
- 加入項目:使用 add() 函式向集合添加元素,集合不會允許重複的元素。
my_set.add(5)
#加入數字 5
print(my_set)
#{1, 2, 3, 4, 5}
-
- 移除項目:可以使用 remove() 或 discard() 移除集合中的項目,兩者不同之處在於,remove() 移除不存在的元素會引發錯誤,而 discard() 不會。
my_set.remove(1)
#移除 1
my_set.discard(99)
#移除不存在的元素,不會報錯
-
- 集合運算:集合支援4種常見的集合運算:交集、聯集、差集和對稱差集,這些運算可以透過對應的運算子或方法來實現。
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
print(a & b)
#交集(a and b):{3, 4}
print(a | b)
#聯集(a or b):{1, 2, 3, 4, 5, 6}
print(a - b)
#差集(a or b):{1, 2}
print(a ^ b)
#對稱差集(a or b)-(a and b):{1, 2, 5, 6}
-
- 子集合與超集合: issubset() 檢查集合是否為另一集合的子集合,issuperset() 檢查是否為超集合。
a = {1, 2, 3}
b = {1, 2, 3, 4, 5}
print(a.issubset(b))
#True(表示a是b的子集合)
print(b.issuperset(a))
#True(表示b是a的超集合)
【實際應用】共同好友查找
friends_A = {"Alice", "Bob", "Charlie"}
#使用者 A 的好友
friends_B = {"Bob", "David", "Charlie"}
#使用者 B 的好友
common_friends = friends_A & friends_B
print("共同好友:", common_friends)
#輸出結果:共同好友: {'Charlie', 'Bob'}
Python 實用學習工具與資源推薦
Python 是一門強大且易於入門的程式語言,擁有豐富的學習資源和工具,無論是自學還是參加課程,都可以輕鬆上手。以下推薦一些實用的學習資源,供有興趣學習 Python 的人參考:
【Python 實用學習工具與資源】Python 官方文件
Python官方文件是學習 Python 的權威資源,提供詳細的語法、函式和模組說明,適合希望深入鑽研的學習者。官方文件不僅包含基礎知識,也有進階應用、實踐的建議,無論是初學者還是專業開發者,都能從中找到所需的資料。
【Python 實用學習工具與資源】在線課程
線上課程為自學提供了便利的選擇,如 Udemy 提供豐富的 Python 教學課程,涵蓋各種專業主題,包括網頁開發、數據科學和人工智慧; W3Schools 則是免費的在線學習平台,提供簡單易懂的教程,適合初學者學習 Python 語法與基礎概念。
【Python 實用學習工具與資源】巨匠電腦課程
若是自學遇到瓶頸或希望快速進階的學習者,就十分推薦選擇巨匠電腦的系統化 Python 教學課程,如 Python 與 AI 人工智慧開發入門 、 Python 機器學習應用開發 、 Python 深度學習應用開發 、 Python 人工智慧整合開發 這4堂從入門到進階開發的 Python 程式語言全方位課程,涵蓋從基礎到進階的知識,融入了實務應用和產業趨勢,並且有專業師資隨時提供解答!
巨匠電腦課程的一大特色是其系統化的學習規劃。從 Python 基礎語法到複雜的數據分析技術,每個主題都經過精心安排,確保學習者能夠循序漸進,穩步提升,不僅能打下紮實的技術基礎,更著重培養解決實際問題的能力。通過豐富的案例分析和項目實作,學員能夠培養出在職場中極為寶貴的實戰技能。
而若想就讀資訊相關科系、對程式設計感興趣的學生們,巨匠電腦的 青少年 Python 課程無疑是一個絕佳的選擇。這個為期 36 小時的課程專為國、高中生設計,可以接觸到當前熱門的技術應用,如網路爬蟲、資料處理,甚至是 AI 應用程式的開發,不僅讓學生們能夠在實際操作中學習程式設計,更能培養邏輯思考能力和解決問題的技巧。
因此,從入門到進階,再到專業應用,巨匠電腦的 Python 課程體系為學習者提供了一個全面且高效的學習路徑。無論是希望快速提升技能的職場人士,還是立志於未來從事程式設計的學生,都能在這裡找到適合自己的 Python 教學課程!
若想了解更多 Python 教學指南,歡迎參考:
【靜態 Python 爬蟲教學】