使用條件判斷和迴圈的應用
結合條件判斷和迴圈,可以執行更複雜的邏輯。以下是一個示例:
python# 找出列表中的偶數並列印
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
if num % 2 == 0:
print(num)
在這個例子中,我們使用 for
迴圈遍歷列表中的數字,並使用條件判斷找出偶數。
函數的進階應用
函數可以有預設參數值和返回多個值。以下是一個例子:
python# 函數帶有預設參數值
def greet(name, greeting="Hello"):
print(greeting + ", " + name + "!")
# 調用函數
greet("Alice")
greet("Bob", "Good morning")
在這個例子中,greet
函數有一個預設的問候語,當然你也可以提供自己的問候語。
列表生成式
使用列表生成式可以簡潔地創建列表。以下是一個例子:
python# 使用列表生成式創建平方數列表
squares = [x**2 for x in range(1, 6)]
print(squares)
在這個例子中,我們使用列表生成式創建了包含1到5的數字平方的列表。
字典的進階應用
字典可以進行遍歷並取得鍵值對。以下是一個例子:
python# 遍歷字典並列印鍵和值
person = {"名字": "小明", "年齡": 25, "城市": "台北"}
for key, value in person.items():
print(key + ": " + str(value))
在這個例子中,我們使用 items
方法遍歷字典中的鍵值對並進行列印。
類別和物件
Python支援物件導向程式設計,以下是一個簡單的類別和物件的例子:
python# 定義一個簡單的類別
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
print("汪汪!")
# 創建一個Dog物件
my_dog = Dog("Buddy", 3)
# 訪問物件的屬性和呼叫方法
print("我的狗的名字是:" + my_dog.name)
print("年齡:" + str(my_dog.age))
my_dog.bark()
在這個例子中,我們定義了一個 Dog
類別,它有一些屬性(如 name
和 age
)和一個方法(bark
)。然後,我們創建了一個 Dog
的物件並訪問了它的屬性和方法。
使用第三方套件
Python社群提供了豐富的第三方套件,你可以使用 pip
工具安裝它們。以下是一個例子:
bash# 在終端機中使用 pip 安裝 requests 套件
pip install requests
python# 在程式中使用 requests 套件
import requests
response = requests.get("https://www.example.com")
print("網頁內容:")
print(response.text)
在這個例子中,我們使用了第三方套件 requests
來發送HTTP請求,並印出網頁的內容。
使用虛擬環境
建立虛擬環境可以隔離不同項目的套件依賴。以下是一個例子:
bash# 在終端機中創建虛擬環境
python -m venv myenv
# 啟用虛擬環境(Windows)
.\myenv\Scripts\activate
# 啟用虛擬環境(Unix 或 MacOS)
source myenv/bin/activate
這將創建一個名為 myenv
的虛擬環境,然後你可以在其中安裝和管理套件。
note 下面三項已經超過項目2的範圍
- 物件導向程式設計(類別和物件的介紹)。
- 第三方套件的使用(requests套件的安裝與使用)。
- 虛擬環境的建立。
列表(List)和迴圈的進階應用
列表的擴充與切片:
python# 創建一個列表 numbers = [1, 2, 3, 4, 5] # 在列表末尾添加元素 numbers.append(6) # 在指定位置插入元素 numbers.insert(2, 7) # 使用切片截取部分列表 subset = numbers[1:4]
列表的遍歷和操作:
python# 使用 for 迴圈遍歷列表 for num in numbers: print(num) # 使用列表生成式進行操作 squared_numbers = [num**2 for num in numbers]
字典(Dictionary)和條件語句的進階應用
字典的擴充與操作:
python# 創建一個字典 person = {"名字": "小明", "年齡": 25, "城市": "台北"} # 新增或更新字典中的鍵值對 person["性別"] = "男" # 刪除字典中的鍵值對 del person["年齡"]
條件語句的進階應用:
python# 單行 if-else 語句 age = 20 status = "成年" if age >= 18 else "未成年" # 多條件的判斷 weather = "晴天" if weather == "晴天": print("出門玩") elif weather == "下雨": print("宅在家裡") else: print("無法判斷天氣")
函數(Function)和字符串(String)的進階應用
函數的返回值:
python# 定義一個返回多個值的函數 def calculate_numbers(a, b): sum_result = a + b product_result = a * b return sum_result, product_result # 調用函數並接收返回值 sum_result, product_result = calculate_numbers(3, 4) print("和為:" + str(sum_result)) print("積為:" + str(product_result))
字符串的格式化:
python# 使用 f 字符串進行格式化 name = "小明" age = 25 message = f"我的名字是{name},年齡是{age}歲。" print(message) # 使用 format 方法進行格式化 greeting = "Hello, {}!" formatted_greeting = greeting.format("Alice") print(formatted_greeting)
條件判斷和迴圈的進階應用
迴圈中的 else 語句:
python# for 迴圈中的 else 語句 numbers = [1, 2, 3, 4, 5] for num in numbers: if num == 6: print("找到了6!") break else: print("未找到6。")
while 迴圈和 continue 語句:
pythonnumbers = [1, 3, 5, -2, 4] total = 0 index = 0 while index < len(numbers): if numbers[index] < 0: index += 1 continue total += numbers[index] index += 1 print("總和為:" + str(total))
說明
numbers = [1, 3, 5, -2, 4]
:創建了一個列表numbers
,包含了一些整數。total = 0
和index = 0
:初始化兩個變數,total
用來追蹤正數的總和,index
用來追蹤目前在列表中的位置。while index < len(numbers):
:這是一個while
迴圈,當index
小於列表的長度時,迴圈會一直執行。if numbers[index] < 0:
:這是一個條件判斷,檢查目前位置的數字是否為負數。index += 1
和continue
:如果目前位置的數字是負數,則將index
增加1,並且使用continue
語句跳過本次迴圈的其餘部分,直接進入下一次迴圈。total += numbers[index]
:如果目前位置的數字是正數,則將該數字加到total
中。index += 1
:將index
增加1,以進入下一次迴圈。迴圈結束後,印出正數的總和。
函數和字符串的進階應用
函數的返回值:
python# 定義一個返回多個值的函數 def calculate_numbers(a, b): sum_result = a + b product_result = a * b return sum_result, product_result # 調用函數並接收返回值 sum_result, product_result = calculate_numbers(3, 4) print("和為:" + str(sum_result)) print("積為:" + str(product_result))
這裡的
return sum_result, product_result
返回了兩個值,而在函數的調用處,我們使用sum_result, product_result = calculate_numbers(3, 4)
將這兩個值分別賦值給了sum_result
和product_result
。字符串的格式化:
python# 使用 f 字符串進行格式化 name = "小明" age = 25 message = f"我的名字是{name},年齡是{age}歲。" print(message)
在這裡,
f"我的名字是{name},年齡是{age}歲。"
使用了 f 字符串,其中{name}
和{age}
會被對應的變數值替換。
條件判斷和迴圈的進階應用
迴圈中的 else 語句:
python# for 迴圈中的 else 語句 numbers = [1, 2, 3, 4, 5] for num in numbers: if num == 6: print("找到了6!") break else: print("未找到6。")
在這裡,
else
語句在迴圈正常執行完畢後執行,但如果在迴圈中有break
被觸發,else
就不會執行。這是for
迴圈中的一個特殊應用。while 迴圈和 continue 語句:
python# 使用 while 迴圈計算總和,遇到負數則跳過 numbers = [1, 3, 5, -2, 4] total = 0 index = 0 while index < len(numbers): if numbers[index] < 0: index += 1 continue total += numbers[index] index += 1 print("總和為:" + str(total))
這裡的
continue
語句用於跳過當前迴圈中的其餘代碼,直接進入下一次迴圈。在這個例子中,當遇到負數時,continue
會跳過將該數字加到total
的步驟
模組(Module)和錯誤處理
模組的使用:
python# 創建一個名為 mymodule.py 的模組 # mymodule.py 內容 # def greet(name): # return f"Hello, {name}!" # 在主程式中使用模組 import mymodule result = mymodule.greet("Alice") print(result)
這裡,我們創建了一個名為
mymodule
的模組,並在主程式中使用import
來引入並使用模組中的greet
函數。檔案的讀寫:
python# 寫入檔案 with open("example.txt", "w") as file: file.write("Hello, this is a sample text.") # 讀取檔案 with open("example.txt", "r") as file: content = file.read() print("檔案內容為:" + content)
這裡,我們使用
open
函數打開一個檔案,使用write
方法寫入內容,然後再使用read
方法讀取檔案內容。
簡單的錯誤處理
python# 嘗試執行可能會引發錯誤的代碼
try:
result = 10 / 0
except ZeroDivisionError as e:
print(f"錯誤:{e}")
在這裡,我們使用 try-except
塊捕獲可能會引發的 ZeroDivisionError
錯誤,並印出相應的錯誤消息。
模組、檔案的讀寫和錯誤處理的進階應用
使用第三方套件:
bash# 在終端機中使用 pip 安裝 requests 套件 pip install requests
python# 在程式中使用 requests 套件 import requests response = requests.get("https://www.example.com") print("網頁內容:") print(response.text)
在這裡,我們使用了第三方套件
requests
來發送 HTTP 請求,獲取並印出網頁的內容。使用虛擬環境:
bash# 在終端機中創建虛擬環境 python -m venv myenv # 啟用虛擬環境(Windows) .\myenv\Scripts\activate # 啟用虛擬環境(Unix 或 MacOS) source myenv/bin/activate
這裡,我們使用
python -m venv
命令創建一個虛擬環境,然後使用activate
命令啟用該虛擬環境。
列表生成式(List Comprehension)
python# 使用列表生成式創建平方數列表
squares = [x**2 for x in range(1, 6)]
print(squares)
在這個例子中,使用列表生成式可以簡潔地創建包含1到5的數字平方的列表。這種語法更為簡潔且易讀,是Python中常見的技巧。
字典生成式(Dictionary Comprehension)
python# 使用字典生成式創建數字及其平方的字典
squares_dict = {x: x**2 for x in range(1, 6)}
print(squares_dict)
這裡使用了字典生成式,創建了一個字典,其中鍵是1到5的數字,值是對應數字的平方。這是一種簡潔的方式來創建字典。
Lambda 函數
python# 使用 lambda 函數計算兩數之和
add = lambda x, y: x + y
result = add(3, 4)
print(result)
lambda
函數是一種簡單的匿名函數,這裡的例子定義了一個 add
函數,可以計算兩個數字的和。這在一些簡單的情境下可以取代使用 def
定義的函數。
選擇性參數和預設值
python# 函數帶有選擇性參數和預設值
def greet(name, greeting="Hello", punctuation="!"):
message = f"{greeting}, {name}{punctuation}"
print(message)
# 調用函數
greet("Alice")
greet("Bob", "Good morning", "?")
在這裡,greet
函數接受三個參數,其中 greeting
和 punctuation
是選擇性參數,並且有預設值。這意味著在調用函數時,可以提供這些參數,也可以不提供,不提供時將使用預設值。
目前已經涵蓋了項目2的範疇,包括基本的Python概念、函數、條件判斷、迴圈、列表、字典、模組、檔案的讀寫、錯誤處理等基礎內容,並在進階部分介紹了一些更高級的主題如列表生成式、字典生成式、Lambda 函數等。
留言
張貼留言