跳到主要內容

發表文章

目前顯示的是有「Python初學入門」標籤的文章

Python常見的檔案處理應用

Photo by Aaron Burden on Unsplash 在實務上,常常有機會需要將資料寫入或讀出檔案,而 Python 也提供了許多相關的模組 (Module) 讓開發人員可以容易的進行檔案的操作。 透過本篇的教學,各位除了能夠利用 Python 進行基本的檔案操作外,也有能力讀取及寫入常見的資料交換格式檔案,重點包含: 基本的檔案操作 JSON 檔案操作 (JSON Files) CSV 檔案操作 (CSV Files) ZIP 檔案操作 (Zip Files) 一、基本的檔案操作 首先,先來看一下我們目前專案的檔案結構,如下: 現在就來分別介紹幾個 Python 常用的檔案操作方式: 檢查檔案是否存在 利用 Path 模組 (Module) 中的 exists() 方法, 來檢查目錄下是否含有特定的檔案,如下範例: from pathlib import Path file = Path("blog/about.py") print(file.exists()) #執行結果:True 取得檔案資訊 利用 Path 模組 (Module) 中的 stat() 方法即可取得目錄下特定檔案的資訊,如下範例: from pathlib import Path file = Path("blog/about.py") print(file.stat()) 執行結果 從執行結果可以看到包含了檔案的大小 st_size 、修改時間 st_mtime 及建立時間 st_ctime 等。 重新命名檔案 利用 Path 模組 (Module) 中的 rename() 方法,並且傳入新的檔案名稱及路徑即可實現檔案重新命名的動作,如下範例: from pathlib import Path file = Path("blog/about.py") file.rename("blog/info.py") 寫入檔案資料 利用 Path 模組 (Module) 中的 write_text() 方法,並且傳入要寫入的資料。 ...

[Python教學]Python Comprehension語法應用教學

Photo by Jason Strull on Unsplash 相信在學 Python 程式語言的朋友都知道, Python 語法簡單易學且非常簡潔,今天要來介紹的 Comprehension 即是 Python 的 Pythonic 語法之一 ,可以運用在任何可疊代的物件 (Iterable Object) 上,只要一行程式碼即可完成多行的任務,讓我們的程式碼簡潔及增加可讀性。 透過今天的教學,您將可以學到 Python Comprehension 如何應用在以下幾個重要的物件 (Object) 上,並且有能力將現有程式碼改寫為 Python Comprehension 語法。 List Comprehension Set & Dictionary Comprehension Generator Expression 一、 List Comprehension 串列 (List)Comprehension 的語法包含三個部分,說明如下: [expression for item in iterable] expression :可以是 item 或運算式。 item :接收可疊代的物件 (Iterable Object) 元素。 iterable :可疊代的物件 (Iterable Object)。 通常要建立一個串列 (List) ,我們可以透過 for迴圈 的方式,如下範例: numbers = [] for x in range(10): numbers.append(x * 3) print(numbers) 執行結果 如果透過串列 (List)Comprehension 來進行改寫的話,只需要一行即可達到相同的執行結果,如下範例: numbers = [x * 3 for x in range(10)] print(numbers) x * 3 就是串列(List)Comprehension中的運算式( expression ),而 x 是接收可疊代的物件 (Iterable Object) 變數 ,最後就是可疊代的物件(Iterable Object)  range(10) 。 透過 for 迴圈的方式讀取元素值,並且乘以 3 來建立串列 ...

[Python教學]Python Lambda Function應用技巧分享

Photo by Fatos Bytyqi on Unsplash Lambda 函式,也就是匿名函式,不需要定義名稱,只有一行運算式,語法非常簡潔,功能強大,所以現代程式語言如 Java、C# 及 Python 等都支援 Lambda 函式,適用於小型的運算, Python的 一些內建函式甚至使用它作為參數值的運算。現在就來介紹 如何 在 Python 中使用 Lambda 函式與技巧吧,包含: Lambda 語法與範例 Python Lambda 函式的應用 Lambda 函式 vs 一般函式 (Function) 一、 Lambda 語法與使用範例 由於 Lambda 函式只有一行程式碼,所以在撰寫時有一些限制,我們來看一下它的語法: lambda parameter_list: expression 這邊教大家一個技巧,在撰寫 Lambda 函式時,於 Visual Studio Code 輸入 lambda 關鍵字,接著按下 Tab 鍵,就會自動產生範例中的語法,包含了三個部分: lambda 關鍵字 parameter_list( 參數清單 ) expression( 運算式 ) 其中, parameter_list( 參數清單 ) 也就是 Lambda 函式的傳入參數,可以有多個,以逗號分隔。而 expression( 運算式 ) 則是針對傳入參數來進行運算,只能有一行運算式,不像 一般函式(Function) 可以有多行。接下來,我們透過幾個範例來了解如何使用 Lambda 函式吧。 範例 1 : 範例中將 Lambda 函式指派給一個變數,接著就可以透過此變數並傳入參數來進行呼叫。 範例 2 : Lambda 函式支援 IIFE(immediately invoked function expression)語法 ,意思是 利用  function expression 的方式來建立函式,並且立即執行它,語法如下 : (lambda parameter: expression)(argument) 範例中即是利用此語法在 Lambda函式 定義後,立即傳入參數執行。 範例 3 : 透過此範例可以知道,當 Lambda 函...

[Python教學]掌握重要的Python例外處理機制

Photo by Jan Genge on Unsplash 在開發應用程式的過程中,或多或少都有機會發生錯誤,原因可能是使用者輸入不正確的資料、網路斷線或語法上的問題等,而如果沒有做好例外處理的機制,程式碼可能因此中斷或發生不可預期的情況,況且讓客戶看到錯誤訊息,對產品的信心也會大打折扣。 為了避免上述的情形發生,在開發的過程中就應考慮到錯誤發生時,程式碼要如何做適當的反應,這也就是今天要跟大家分享的主題,讓程式碼在發生錯誤時,能夠顯示友善的錯誤訊息,並且程式碼不會因此而中斷。除了在開發上易於偵錯外,也避免產品上線時發生問題而顯示天文訊息給使用者看。 Python 在例外處理的機制,包含了: 基本的例外錯誤處理 (try-except) 不同的例外錯誤處理 (different exceptions) finally 區塊 (try-except-finally) 自行拋出例外錯誤 (raise exceptions) 一、 基本的例外錯誤處理 (try-except) 在學習 Python 基本的例外錯誤處理前,先來了解什麼是例外錯誤 ? 如下範例: 發生例外錯誤時,就會顯示類似如上的訊息,告訴您哪一行程式碼,發生了什麼類型的例外錯誤。而範例中的訊息意思即是告訴我們存取了沒有在 串列 (List) 中的元素,導致錯誤的發生。 像這樣沒有做好例外處理,除了程式碼中斷外,也讓使用者看到了這樣的天文訊息,如果又不幸的被駭客看到了,它可能就藉此知道哪行程式碼出現了漏洞。所以在開發應用程式時,例外處理非常的重要。 Python 基本的例外錯誤處理就是將程式碼置於 try 區塊中,接著在 except 區塊定義當 try 區塊中有任一行發生例外錯誤時,需進行什麼樣的反應或處理,如下範例: 進行 try-except 的例外處理後,程式碼沒有中斷,並且執行了我們所預期發生錯誤時,要進行的動作。相反的,當沒有例外發生時, except 區塊中的程式碼則不會被執行。 如果在開發的過程中,大概知道可能會發生的例外錯誤類別,則可於 except 關鍵字之後加上該類別名稱,而發生此類別以外的錯誤,就會執行沒有加類別名稱的 except 區塊,如下範例: 由於範例中發生了 ValueError 的錯誤,...