跳到主要內容

文章

目前顯示的是 十二月, 2019的文章

[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:

[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的錯誤,所以執行了ValueError的except區塊程式碼。 二、不同的例外錯誤處理(different exceptions) 在try區塊中,如果發生一個種類以上的例外錯誤,則依序遞…

[Python教學]5個必知的Python Function觀念整理

Photo by Susan Holt Simpson on Unsplash 在寫程式碼時有一個非常重要的觀念是DRY(Don’t Repeat Yourself),意思是避免同樣的程式碼重複出現在很多個地方,除了可讀性很低外,也不易維護。所以要適當的進行封裝,來達到程式碼的重用性(Reusable)。

今天要來教大家如何建構自己的Python函式(Function),就是能夠讓你的程式碼被重複的使用(Reusable),並且提高維護性及可讀性。其中有五個必須要知道的重要觀念,包含了: 函式(Function)結構函式(Function)參數函式(Function) *args、**kwargs運算子函式(Function)種類函式(Function)變數範圍(Scope)一、函式(Function)結構 首先Python函式的結構包含了def關鍵字、函式名稱、參數及實作內容,如下範例: 函式名稱的命名習慣上會使用小寫字母,並且以底線來分隔單字。參數用來接收外部資料,而實作的內容則是這個函式所要執行的任務,需注意縮排。接下來就針對函式的各個部分進行詳細的說明。 二、函式(Function)參數 參數簡單來說就是接收外部所傳來的資料,進而執行相關的邏輯運算。參數個數取決於函式內部運算時所需的資料個數,所以在一般情況下,呼叫函式時一定要傳入相對的參數個數資料,否則就會出現例外錯誤,如下範例:
函式的參數,又可分為: 關鍵字參數(Keyword Argument)呼叫函式時,在傳入參數值的前面加上函式所定義的參數名稱,如下範例。除了提高可讀性外,也可將此種參數打包成字典(Dictionary)資料型態,在等一下的xargs、xxargs運算子部分會來進行說明。
預設值參數(Default Argument)在函式定義的參數中,將可以選擇性傳入的參數設定一個預設值,當來源端有傳入該資料時,使用來源端的資料,沒有傳入時,則依照設定的預設值來進行運算,如下範例: 範例中沒有傳入日期參數資料,所以函式使用預設值(2019/12/21)來進行運算。我們再來看一個範例:

[Python教學]Python Unpacking實用技巧分享

Photo by Andrew Neel on Unsplash Python相較於其他程式語言,以能夠用簡潔的語法來達到相同的運算聞名,本篇要來教大家的Python Unpacking技巧,就是讓您在操作像串列(List)元組(Tuple)字典(Dictionary)等可疊代的資料型態時,能夠用簡潔且有效率的語法來取出其中的元素,進而做其他更複雜的運算。

Unpacking顧名思義就是將打包好的資料取出來,這邊整理了五個使用的情境,包含了: List Unpacking(串列開箱)Tuple Unpacking(元組開箱)For-Loop Unpacking(迴圈開箱)Swapping Variables Value(交換變數值)Unpacking Operator(開箱運算子)
一、List Unpacking(串列開箱)在一般的情況下,我們要存取串列(List)中的資料並且指派給變數時,通常會像下面範例這樣做: 這種寫法當我們要指派的變數越多時,就會顯得沒有效率,這時候就能夠使用Unpacking的技巧,將串列(List)中的資料指派給多個變數,如下範例。 這樣程式碼是不是簡潔多了呢。範例中有一個需要特別要注意的地方,串列(List)中的資料個數要與變數的個數一致,不然會發生例外錯誤。 當串列中有大量的資料時,則可以獨立定義所需的變數個數來透過Unpacking的方式來指派資料,剩下的元素則可以使用 * 符號來進行打包的動作,如下範例: 另一種變形的應用就是可取得串列(List)中第一個元素及最後一個元素,剩下的同樣可以用 * 符號打包起來,如下範例: 二、Tuple Unpacking(元組開箱)串列(List)的Unpacking技巧同樣可以使用於元組(Tuple)