如何從零開始學會自動化Python網頁爬蟲? 這個免費線上培訓,送給想要學會打造自動化Python網頁爬蟲,提升2倍工作效率的人 即使你是完全新手,也能夠學會.... 在這個線上的免費培訓,我將和你分享3個網頁爬蟲的密技: 密技1:沒有經驗如何學會網頁爬蟲?(5種常見的網頁類型爬取技巧) 密技2:遇到反爬蟲機制有哪些解決方案?(不會高難度的機器學習一樣有機會通過) 密技3:如何利用網頁爬蟲提升自己2倍的工作效率?(透過自動化來得到更多自己的時間) 課程老師:古耕全(Mike) Mike是 「Learn Code With Mike」品牌的創辦人,也是 一位網頁工程師,持續分享Python的「入門教學、爬蟲應用、資料分析、網頁開發」教學,幫助想要學習Python程式語言的新手,透過小專案實作的教學方式,讓新手有能力開發出屬於自己的Python應用程式。 馬上報名免費培訓
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(串列開箱)
當串列中有大量的資料時,則可以獨立定義所需的變數個數來透過Unpacking的方式來指派資料,剩下的元素則可以使用 * 符號來進行打包的動作,如下範例:
二、Tuple
Unpacking(元組開箱)
三、For-Loop
Unpacking(迴圈開箱)
舉例來說,當我們透過Python的For-Loop迴圈讀取串列(List)中的元素時,想要同時取得元素的索引值及資料,這時候可以搭配enumerate()方法及Unpacking的技巧來達成,如下範例:
從範例中的執行結果可以看到,在每一次迴圈的讀取時,enumerate()方法會回傳一個元組(Tuple)資料型態,我們就可以直接在For-Loop迴圈的地方Unpacking元組(Tuple)的資料給兩個變數,來達到同時取得元素索引值及資料的效果,如下範例:
另一個使用情境就是在透過Python的For-Loop迴圈讀取字典(Dictionary)中的元素時,我們使用的items()方法也是回傳一個元組(Tuple)資料型態,所以同樣我們也可以利用Unpacking的技巧來同時取得鍵(Key)及值(Value),如下範例:
四、Swapping
Variables Value(交換變數值)
再來介紹一個Unpacking的使用情境,如果我們要互換兩個變數的值,在不使用Unpacking的技巧時,我們會這樣做:
首先多定義一個變數c,然後把a的值先指派給c,接著把b的值指派給a,最後再把c(當初a的值)指派給b,這樣就達到了兩個變數值互換的效果。而我們使用了Python的Unpacking技巧後,只需寫一行,如下範例:
五、Unpacking
Operator(開箱運算子)
Unpacking
Operator分為:
- * 符號:可用於任何可疊代的(Iterable)物件。
- ** 符號:只能用於字典(Dictionary)物件 。
六、小結
以上就是Python
Unpacking的實用技巧,不但讓我們的程式碼簡潔,在操作可疊代的(Iterable)物件時也更加靈活。練習的過程中若有碰到任何問題或說明不清楚的地方,歡迎留言與我分享!
如果您喜歡我的文章,請幫我按五下Like(使用Google或Facebook帳號免費註冊),支持我創作教學文章,回饋由LikeCoin基金會出資,完全不會花到錢,感謝大家。
如果您喜歡我的文章,請幫我按五下Like(使用Google或Facebook帳號免費註冊),支持我創作教學文章,回饋由LikeCoin基金會出資,完全不會花到錢,感謝大家。
有想要看的教學內容嗎?歡迎利用以下的Google表單讓我知道,將有機會成為教學文章,分享給大家😊

謝謝老師分享教學
回覆刪除