無論是數據分析、人工智慧還是網站開發,Python 憑藉其簡單易懂的語法和強大的功能,迅速成為全球最受歡迎的程式語言之一。對於想要在職場中脫穎而出或轉換跑道的初學者而言,學習 Python 是一個明智的選擇,透過以下精心整理的「Python 教學基礎篇」,你將全面掌握 Python 必備的基礎語法和符號應用,打下穩固的程式語言基礎!

工欲善其事,必先利其器!認識 Python 開發環境 (IDE)

在正式進入 Python 教學前,需要先為學習 Python 準備適當的開發環境。Python 開發環境(IDE)是用來編寫、調試與執行程式碼的工具,目前主要有兩種類型:本機端開發環境與雲端開發環境。根據個人的需求與使用習慣,可以選擇最適合的開發環境來提升學習與工作效率。

Python 開發環境(一)本機端開發環境

這類開發環境適合經常離線工作、希望完整控制開發環境配置的使用者,需要先下載並安裝相關的軟體工具,接著才能在電腦上編寫 Python 程式,如 Python 官方軟體或是 VS Code 編輯軟體都是相當受歡迎的選擇。此外,也建議設置 Python 虛擬環境(venv)、或使用 Anaconda 內建的 Python 環境管理系統 (Conda),為每個專案創建獨立 Python 環境,方便使用者管理不同專案。

基礎 Python 教學:輸出與輸入

在 Python 中,輸出與輸入是基礎的內建函式。透過輸出 print() 函式與輸入 input() 函式,初學者可以快速上手,實現簡單的資料顯示與互動功能。

【輸出】 print() 

將資料輸出至螢幕上。

  • 基本語法:print(‘輸出內容’)
  • 常見參數:
    • sep:輸出多個項目間以設定的分隔字元隔開,預設為「一個空白」。
    • end:輸出完畢後加入的結束字元,預設為換行符 \n 。
  • 範例:

print('Hello', 'World', sep='-', end='!')
#輸出結果:Hello-World!

【輸入】 input() 

可以讓使用者輸入內容,按下 enter 之後再進行下方的動作,並將輸入的內容賦值給變數。

  • 基本語法:input(‘提示文字’)
  • 範例:

name = input('姓名:')

【實際應用】數字加總

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 等等。
  • 範例:

x = 1
print(x) 
#輸出結果:1

【實際應用】學生分數計算

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資料型態基本4類型,計算及使用技巧說明

基礎 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行

  • while 迴圈:若符合條件則繼續執行。
    • 基本語法:
      while 條件:
      執行程式
    • 範例:

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學堂】新手入門第四篇-Python的流程控制:判斷
Python迴圈教學:while, for_in, range語法及應用- 巨匠電腦

基礎 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陣列是什麼?完整解析一維/二維/多維陣列,list,tuple!

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 教學課程!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐