在聊天機器人和人工智慧代理領域,Python 作為一種程式語言被廣泛使用。該語言語法簡單,入門門檻低,使其成為程式設計愛好者的首選語言。儘管 Python 簡單易用,但它功能強大,廣泛應用於 Web 開發、資料分析、人工智慧、自動化等領域。簡而言之,學習 Python 將為你奠定堅實的程式設計基礎,併為你建立眾多專案和職業道路開啟大門。本指南是初學者從零開始學習 Python 程式語言的最佳途徑之一。
什麼是Python?
Python 是一種流行的高階程式語言,以其易於理解、清晰易讀的語法而聞名。它易於學習和使用,是最適合新程式設計師的語言。Python 簡潔的語法(幾乎就像閱讀英語一樣)和易於上手的設計使其成為初學者最容易選擇的語言之一。Python 擁有龐大的社羣和數千個庫,可用於從 Web 應用程式開發到 GenAI 等各種任務。它在就業市場上也備受追捧。截至 2025 年,Python 始終位列最受歡迎的程式語言之列。
Python入門
但在開始之前,讓我們先了解如何安裝 Python 並設定環境。
安裝Python
要開始使用 Python,請訪問 Python 官方網站,然後按照適合您作業系統的分步說明進行操作。該網站會自動為您的系統推薦最佳版本,並提供關於如何下載和安裝 Python 的清晰指導。無論您使用的是 Windows、macOS 還是 Linux,請按照說明完成設定。
選擇IDE或程式碼編輯器
安裝好 Python 後,我們需要一個地方來編寫程式碼。您可以從簡單的程式碼編輯器開始,也可以選擇功能更齊全的 IDE(整合開發環境)。
IDE 與 Python 捆綁在一起。它提供了一個基本的編輯器和一個互動式 shell(可選),您可以在其中輸入 Python 命令並立即檢視結果。它非常適合初學者,因為它很簡單,只需開啟編輯器即可開始編寫程式碼。
您還可以選擇 Visual Studio Code(VS Code),這是一款支援 Python 的流行免費程式碼編輯器。安裝 VS Code 後,您可以安裝官方的 Python 擴充套件,它增加了語法高亮、自動完成和除錯等功能。VS Code 提供了更豐富的編碼體驗,並且在業界得到了廣泛的應用。它幾乎不需要設定,許多初學者都覺得它易於使用。
基本語法、變數和資料型別
開發環境準備就緒後,您就可以開始編寫 Python 程式碼了。因此,第一步是瞭解 Python 語法,然後瞭解如何使用變數和資料型別(基礎知識)。Python 的語法依賴於縮排,即在行首使用空格或製表符來定義程式碼塊,而不是使用花括號或關鍵字。這意味著適當的間距對於程式碼的正確執行至關重要。此外,它還能確保程式碼在視覺上清晰易讀。
變數和資料型別:
在 Python 中,您無需顯式宣告變數型別。使用 =
(賦值)運算子為變數賦值時,就會建立一個變數。
例如
# Assigning variables name = "Alice" # a string value age = 20 # an integer value price = 19.99 # a float (number with decimal) value is_student = True # a boolean (True/False) value print(name, "is", age," years old.")
在上面的程式碼中, name
, age
, price
, 和 is_student
是 Python 中儲存不同型別資料的變數。一些你會經常使用的基本資料型別包括:
- 整數 (int) – 這些是整數,例如 10、-3、0
- 浮點數 (float) – 這些是小數或分數,例如 3.14、0.5
- 字串 (str) – 這些是用引號括起來的文字,例如“Hello”。字串可以用字串或雙引號括起來。
- 布林值 (bool) – 這些是邏輯 True/False 值。
你可以使用內建的 print
方法(用於在螢幕上顯示輸出,幫助你檢視結果)來顯示這些值。print
是一個函式,我們稍後會詳細討論函式。
基本語法規則:
由於 Python 區分大小寫,因此 Name
和 name
是不同的變數。 Python 語句通常在一行的末尾結束,即不需要分號。要新增註釋,請使用 #(磅號)符號。# 之後的任何內容都將被 Python 忽略,並且不會執行(直到行末)。例如:
# This is a comment explaining the code below print(“Hello, world!”) # This line prints a message to the screen
控制流:If 語句和迴圈
控制流語句讓您的程式在需要時做出決策並重復操作。這裡的兩個主要概念是條件語句(if-else)和迴圈。它們對於為您的程式新增邏輯非常重要。
If 語句(條件邏輯):if 語句允許您的程式碼僅在條件為真時執行。在 Python 中,您可以使用 if
關鍵字編寫 if 語句,後跟條件和冒號,然後是包含程式碼的縮排塊。您也可以選擇新增 else
或 elif
(即“else if”)語句來處理不同的條件。
例如
temperature = 30 if temperature > 25: print("It's warm outside.") else: print("It's cool outside.")
在前面的例子中,僅當溫度變數的值高於 25 時,輸出才會為“外面很暖和”。否則,它會顯示後一條訊息,出現在 else
語句中。您甚至可以使用 elif
連結條件,如下所示:
score = 85 if score >= 90: print("Grade: A") elif score >= 80: print("Grade: B") else: print("Grade: C or below")
請記住,Python 使用縮排來對程式碼進行分組。 if
語句之後的所有縮排行都屬於 if
塊。
迴圈:
迴圈可以幫助您多次重複程式碼。Python 主要有兩種型別的迴圈: for
迴圈和 while
迴圈。
- for 迴圈:
for
迴圈用於遍歷序列(例如列表或範圍)。例如:
for x in range(5): print("Counting:", x)
range(5)
為您提供從 0 到 4 的數字。這將列印 0 到 4。您還可以迴圈遍歷列表中的專案:
fruits = ["apple", "banana", "cherry"] for fruit in fruits: print("I like", fruit)
這會逐一列印列表中所有“我喜歡”的水果及其名稱。
- While 迴圈:只要條件成立,
while
迴圈就會一直執行。例如:
count = 1 while count <= 5: print("Count is", count) count += 1
此迴圈將執行 5 次,列印從 1 到 5 的數字。當計數達到 6 時,迴圈停止。
在迴圈內部,您可以使用 break 提前退出,或使用 continue 跳至下一個迴圈。您還可以將迴圈與 if
語句結合使用,例如,在迴圈內部放置 if
語句以獲得更多控制權。
練習時,可以嘗試一些小操作,例如對數字求和或迴圈遍歷單詞中的字元,這將有助於您更好地掌握它。
函式和模組
隨著程式規模的擴大,您會希望重用程式碼或使程式更具條理。這時,函式和模組就派上用場了。函式允許您包裝一段執行特定操作的程式碼,然後在需要時呼叫它。模組可幫助您將函式和變數放入可重用檔案中。
函式
在 Python 中,您可以使用 def
關鍵字定義一個函式,然後為其指定名稱並在括號中傳入一些可選引數。函式內部的程式碼會縮排。您可以從函式返回值,或者什麼都不返回(在這種情況下,它返回 None
)。這是一個基本示例:
def greet(name): message = "Hello, " + name + "!" return message print(greet("Alice")) # Output: Hello, Alice! print(greet("Bob")) # Output: Hello, Bob!
所以在這裡,greet 是一個函式,它接受一個名字並返回一條問候訊息,該訊息儲存在變數 message 中。我們可以呼叫 greet("Alice")
或 greet("Bob")
來重用相同的邏輯。透過編寫一次並在需要時呼叫它(使用不同的值),可以避免一次又一次地重複相同的程式碼。您還可以建立執行任務但不返回任何內容的函式。像這樣:
def add_numbers(x, y): print("Sum is", x + y) add_numbers(3, 5) # This prints "Sum is 8"
這個例子只是顯示結果,而不是返回結果。
模組
Python 中的模組是另一個 Python 檔案,其中包含一些函式、變數或可重用的內容。Python 的標準庫中已經包含許多有用的模組。例如,用於執行數學運算的 math
模組和用於生成隨機數的 random
模組。您可以透過如下方式匯入來使用它們:
import math print(math.sqrt(16)) # Use the sqrt function from the math module, prints 4.0
這裡我們使用了 math 模組中的 sqrt
函式。使用模組中的函式或變數時,可以使用語法 module_name.function_name 來呼叫它。
您也可以從模組中匯入特定項,而不是匯入整個模組:
from math import pi, factorial print(pi) # pi is 3.14159... print(factorial(5)) # factorial of 5 is 120
這裡我們只從 math
模組匯入了變數 pi
和函式 factorial
。
除了內建模組外,還有大量第三方模組可用。你可以使用 Python 自帶的 pip
命令安裝它們。例如:
pip install requests
這將安裝 requests
庫,該庫用於發出 HTTP 請求(與 Web 通訊等)。作為初學者,除非您正在處理特定專案,否則您可能不需要外部庫,但 Python 擁有幾乎所有您能想到的庫,這真是太棒了。
資料結構:列表、字典等
Python 提供了一些內建資料結構來收集和組織資料。您最常看到的是列表和字典(還有其他一些結構,例如元組、集合等,我們將簡要介紹)。
- 列表:Python 中的列表是一組有序的專案(稱為元素),可以包含不同的資料型別(異構資料結構)。您可以使用方括號 [] 定義列表。例如:
colors = ["red", "green", "blue"] print(colors[0]) # Output: red (lists start from 0, so index 0 means first item) colors.append("yellow") print(colors) # Output: ['red', 'green', 'blue', 'yellow']
這裡,colors
是一個字串列表。您可以透過索引獲取元素,也可以使用 append
方法新增新元素。列表是可變的,這意味著您可以在建立後對其進行更改(新增、刪除或更改元素)。
- 字典:字典(或 dict)是一堆鍵值對,就像一本真正的字典一樣,您可以查詢一個單詞(鍵)並找到它的含義(值)。在 Python 中,使用花括號 {} 定義字典,並使用 key: value 賦值。例如:
capitals = {"France": "Paris", "Japan": "Tokyo", "India": "New Delhi"} print(capitals["Japan"]) # Output: Tokyo
在前面的程式碼中,國家名稱是鍵,其首都是值。我們使用“Japan”來獲取其首都。字典在將一個事物與另一個事物關聯時非常有用。它們也是可變的,因此您可以更新或刪除項。
- 元組:元組類似於列表,但它是不可變的,這意味著一旦定義,就無法更改。元組使用括號 ()。例如:
coordinates = (10, 20) # defines a tuple named coordinates
您可以使用元組來儲存不應更改的值,例如位置或固定值。
- 集合:集合是包含唯一項且不保持其順序的集合。您可以使用
{}
花括號或set()
方法建立集合。例如:
unique_nums = {1, 2, 3} # defines a set named unique_nums
當你想要移除重複項或檢查組中是否存在某個值時,集合會非常方便。
每種資料結構都有其獨特的工作方式。但首先,我們先來了解一下列表和字典,因為它們在很多情況下都會用到。試著舉幾個例子,比如列出你喜歡的電影,或者編寫一個包含英語-西班牙語單詞的詞典。練習如何儲存和使用資料組是程式設計的一項重要技能。
檔案處理
遲早你會需要你的 Python 程式碼處理檔案,比如儲存輸出、讀取輸入,或者只是儲存日誌。Python 透過提供內建的 open
函式和檔案物件,簡化了檔案處理。
要開啟檔案,請使用 open("filename", mode)
,其中 mode 是一個標誌,例如 r 表示讀取、w 表示寫入或 a 表示附加。建議使用上下文管理器,這樣即使在寫入過程中發生錯誤,with
語句也會自動關閉檔案。例如,在檔案中寫入:
with open("example.txt", "w") as file: file.write("Hello, file!\n") file.write("This is a second line.\n")
在此示例中,“example.txt”以寫入模式開啟。如果檔案不存在,則建立該檔案。然後,向檔案中寫入兩行內容。with
語句部分負責在程式碼塊結束時關閉檔案。這很有用,因為它可以避免檔案損壞或鎖定。
要從檔案中讀取資料,您可以使用:
with open("example.txt", "r") as file: content = file.read() print(content)
這將從檔案中讀取資料並將其儲存在名為 content
的變數中,然後顯示它。如果檔案很大或者您想一次讀取一行,則可以使用 file.readline
函式或像這樣逐行讀取:
with open("example.txt", "r") as file: for line in file: print(line.strip()) # strip remove the newline character
for
迴圈會列印檔案中的每一行。Python 也允許處理二進位制檔案,但後者更高階。目前,我們只需關注 .txt 或 .csv 等文字檔案即可。
請謹慎輸入檔案路徑。如果檔案與指令碼位於同一資料夾中,則檔名即可。否則,您必須提供完整路徑。另外,請記住,如果檔案已存在,使用“w”模式寫入將清除檔案內容。如果您想在不刪除檔案的情況下新增資料,請使用“a”模式。
您可以嘗試編寫一個小程式,要求使用者輸入一些內容並將其儲存到檔案中,然後讀取並顯示出來。這是一個很好的練習。
物件導向程式設計 (OOP) 簡介
物件導向程式設計是一種使用“物件”編寫程式碼的方法,物件包含一些資料(稱為屬性)和函式(稱為方法)。 Python 完全支援物件導向程式設計 (OOP),但如果您只是編寫小型指令碼,則無需使用它。但一旦您開始編寫更大型的程式,瞭解物件導向程式設計 (OOP) 的基礎知識就會大有裨益。
物件導向程式設計 (OOP) 的核心是類。類就像是建立物件的藍圖。由該類生成的每個物件(也稱為例項)都可以擁有其資料和函式,這些資料和函式在類內部定義。
以下是建立類並從中建立物件的簡單示例:
class Dog: def __init__(self, name): # __init__ runs when you make a new object self.name = name # storing the name inside the variable name def bark(self): print(self.name + " says: Woof!")
現在我們可以使用該類來建立一些物件:
my_dog = Dog("Buddy") your_dog = Dog("Max") my_dog.bark() # Output: Buddy says: Woof! your_dog.bark() # Output: Max says: Woof!
這裡發生的事情是,我們建立了一個名為 Dog 的類,它包含一個 __init__
函式。__init__
函式是初始化方法,在建立類的物件時自動執行。這裡,當我們建立 Dog
類的物件時,__init__
函式首先執行。它獲取 name 變數的值並將其儲存在 self.name
中。然後我們建立了另一個函式 bark
,它列印出狗的名字和“Woof”。
這裡有兩隻狗,一隻叫 Buddy,另一隻叫 Max。每個物件都會記住自己的名字,當我們呼叫 bark
函式時,它會列印出這個名字。
需要記住的一些事項:
__init__
是一個特殊方法(類似於建構函式)。它在物件建立時執行。self
表示物件本身。它幫助物件跟蹤其資料。self.name
是一個屬於物件的變數。bark
是一種方法,它只是一個作用於該物件的函式。- 我們使用句點 . 來呼叫方法,例如
my_dog.bark
。
那麼,為什麼要使用物件導向程式設計 (OOP) 呢?在大型程式中,物件導向程式設計 (OOP) 可以幫助你將程式碼拆分成有用的部分。例如,如果你正在開發一款遊戲,你可能會有一個玩家 (Player) 類和一個敵人 (Enemy) 類。這樣,他們的資訊和行為就可以分開。
作為初學者,不要過分強調學習物件導向程式設計 (OOP)。但瞭解什麼是類和物件總是有益的。物件就像名詞(例如 Dog、Car、Student),方法就像動詞(例如 run、bark、study)。學習完函式、列表等知識後,嘗試建立一個你自己的小類!比如一個 Student 類,用來儲存姓名和成績並列印出來。這是一個不錯的開始。
簡單的專案創意
學習 Python 的最佳方法之一就是做一些小專案。專案能讓你設定目標,而且說實話,它們比一遍又一遍地做枯燥的練習有趣得多。以下是一些適合初學者的簡單專案創意,使用了我們在本指南中討論過的內容:
- 猜數字遊戲:編寫一個程式,讓計算機選擇一個隨機數,然後使用者嘗試猜測。你將使用 if-else 語句告訴使用者他們的猜測是過大還是過小。使用迴圈,讓使用者可以多次嘗試。這個專案使用使用者的輸入(使用
input
函式)、一個隨機數(來自random
模組)和迴圈。 - 簡單的待辦事項列表(基於控制檯):你可以編寫一個程式,讓使用者新增任務、檢視列表並將任務標記為已完成。只需使用列表儲存所有任務即可。使用
while
迴圈持續顯示選項,直到它們退出。如果您想升級,請嘗試將任務儲存到檔案中,這樣下次程式執行時,任務仍然在那裡。 - 基本計算器:製作一個可以執行 +、-、* 和 / 等簡單數學運算的計算器。使用者輸入兩個數字和一個運算子,您的程式會給出結果。您將練習使用者輸入、定義函式(可能每個運算一個),並處理錯誤(例如除以零,如果不處理會導致程式崩潰)。
- 瘋狂填詞遊戲:這是一個有趣的遊戲。要求使用者輸入不同型別的單詞,例如名詞、動詞、形容詞等。然後將這些單詞插入一個有趣的故事模板中,並向他們展示最終的故事。這很有趣,非常適合練習字串知識和記錄輸入。
- 測驗程式:製作一個包含幾個問題的簡單測驗。您可以將一些問答對寫在列表或字典中。迴圈提問,檢查答案,並記錄分數。最後,列印使用者的正確答案。
如果你的專案想法不在這個列表中,也不用擔心。你可以選擇任何你覺得有趣且有挑戰性的專案。從小事做起。把事情分解成幾個步驟,一步一步地構建,然後進行測試。
做專案可以幫助你學習如何規劃程式,並且你會遇到新的東西需要學習(比如如何生成隨機數或如何處理使用者輸入)。如果你需要谷歌搜尋或閱讀文件,也不要感到沮喪,即使是專業的程式設計師也經常這樣做。
高效學習Python的技巧
學習程式設計是一段旅程,以下是一些提升 Python 學習體驗的技巧:
- 規律練習:我們都知道,堅持不懈是關鍵。所以,如果可以的話,請每天或每週編寫幾次程式碼。即使是短暫的練習也能幫助你鞏固所學知識。程式設計是一項技能;練習得越多,就越精通。
- 邊做邊學:不要只是觀看影片或閱讀教程,要積極地編寫程式碼。學習任何新概念後,嘗試編寫一個使用該概念的小程式碼。調整程式碼,打破它,然後修復它。親身實踐是最好的學習方式。
- 從簡單開始:從小程式或練習開始。很容易直接跳到複雜的專案,但先完成簡單的程式才能學得更快。隨著你對程式設計越來越有信心,再逐漸轉向更復雜的問題。
- 不要害怕錯誤:錯誤和 bug 是正常現象。因此,當您的程式碼丟擲錯誤時,請閱讀錯誤訊息,嘗試理解錯誤原因,因為錯誤本身就說明了行號的問題所在。使用列印語句或偵錯程式來跟蹤程式的執行情況。除錯本身就是一項技能,每個錯誤都是一個學習的機會。
- 構建專案和挑戰:除了上述專案之外,還可以嘗試在 HackerRank 等網站上進行一些簡單的程式碼挑戰。這些挑戰既有趣,又能讓您接觸到不同的思維方式和解決問題的方法。
免費且適合初學者的學習資源
有很多免費資源可以幫助您學習 Python。以下是一些強烈推薦的資源,可以讓您的學習更加輕鬆。
- 官方 Python 教程:Python.org 上的官方 Python 教程是一個非常好的起點。它是一個基於文字的教程,以良好的方式涵蓋了所有基礎知識,並幫助您加深理解。
- YouTube 頻道:您可以探索眾多 YouTube 頻道,觀看高質量的 Python 教程,助您學習 Python。
- 最受歡迎Python框架排行榜
- 學習Python程式設計的最佳工具和資源
小結
學習 Python 是一件令人興奮的事情,因為它可以開啟許多新的機會。按照本分步指南,您將能夠輕鬆學習 Python,從設定程式環境到理解變數、迴圈、函式等核心概念。此外,請記住按照自己的節奏學習,定期練習,並利用眾多免費資源和社羣支援。憑藉堅持不懈和好奇心,您將逐漸成為 Python 大師。
評論留言