跳到主要內容

發表文章

目前顯示的是 11月, 2019的文章

Python網頁爬蟲免費線上培訓

如何從零開始學會自動化Python網頁爬蟲? 這個免費線上培訓,送給想要學會打造自動化Python網頁爬蟲,提升2倍工作效率的人 即使你是完全新手,也能夠學會.... 在這個線上的免費培訓,我將和你分享3個網頁爬蟲的密技: 密技1:沒有經驗如何學會網頁爬蟲?(5種常見的網頁類型爬取技巧) 密技2:遇到反爬蟲機制有哪些解決方案?(不會高難度的機器學習一樣有機會通過) 密技3:如何利用網頁爬蟲提升自己2倍的工作效率?(透過自動化來得到更多自己的時間) 課程老師:古耕全(Mike) Mike是 「Learn Code With Mike」品牌的創辦人,也是 一位網頁工程師,持續分享Python的「入門教學、爬蟲應用、資料分析、網頁開發」教學,幫助想要學習Python程式語言的新手,透過小專案實作的教學方式,讓新手有能力開發出屬於自己的Python應用程式。 馬上報名免費培訓

[Python教學]掌握Python條件判斷的用法

Photo by Álvaro Montanha on Unsplash 本篇將介紹 Python 如何做條件判斷及相關的語法觀念,首先瞭解什麼是比較運算子,接著介紹基本的條件判斷,最後,利用邏輯運算子,組合出更符合現實生活的條件判斷。   一、比較運算子 在 Python 中,我們使用比較運算子來比較物件的大小,包含等於 ( == ) 、不等於 ( != ) 、大於 ( > ) 、小於 ( < ) 、大於等於 ( >= ) 及小於等於 ( <= ) ,執行結果會得到一個布林值 (Boolean) ,範例如下:   二、條件判斷 Python 提供了三個條件判斷的語法,分為 if 、 if-else 及 if-elif-else ,現在就分別透過範例來介紹使用的方式。 1.   if 敘述   在上面的語法中, conditions 可以使用比較運算子來組合想要判斷的條件,最後在結尾的地方加上冒號 ( : ) ,當條件成立時,就會執行 statement 1 。只要隸屬於 if 區塊要做的事情,都要有相同的縮排, 範例如下: 範例中的 price變數值為120,判斷大於 100,所以執行if區塊中的 print() 方法。 2.   if-else 敘述 上面的語法意思是當 conditions 條件成立,執行 statement 1 ,條件不成立時,則執行 statement 2 ,同樣的注意 else 的結尾需加上冒號 ( : ) 及區塊中的縮排,範例如下: 範例中的 price 變數值為 90 ,首先判斷沒有大於 100 ,因此執行 else 區塊中的 print() 方法。 3.   if-elif-else 敘述 如果有多個條件要進行判斷時,就可以使用這個語法,當 conditions 1 條件成立時,執行 statement 1 ,當 conditions 2 條件成立,執行 statement 2 ,都不成立,則執行 statement 3 ,範例如下: 範例中的 price變數值為 70,首先判斷沒有大於 120,接著判斷有大於 60,因此執行elif區塊中的print()方法。 三、邏輯運算子

[Python教學]Python數值與型別轉換的重要觀念

Photo by Mika Baumeister on Unsplash 在這篇文章中,將介紹 Python Number( 數值 ) 資料型態的基本用法,包含了算術運算子及算術指派運算子,並且透過範例的方式,讓大家瞭解什麼是型別轉換。 一、 Python 算術運算子 就是數學上的加法 (+) 、減法 (-) 、乘法 (*) 、除法 (/) 、除法取得整數的商數 (//) 、除法取得餘數 (%) 、次方 (**) 。 二、 Python 算術指派運算子 使用的方式為上述的算術運算子加上 = 號,意思就是變數進行運算過後,同時指派運算結果給變數本身,我們以加法指派運算子為例: 上圖中第 2 行的意思等於第 4 行,也就是將 x 變數加 2 後,同時指派運算結果給變數本身。第 2 行與第 4 行相較之下,使用算數指派運算子讓程式碼看起來較為簡潔。 三、 Python 型別轉換 (Casting) 顧名思義,就是將型別轉換為另一個型別。 Python 內建了幾個型別轉換的方法 (function) : int(object) :將傳入的物件 (object) 轉型為整數。 float(object) :將傳入的物件 (object) 轉型為浮點數。 bool(object) :將傳入的物件 (object) 轉型為布林值。 str(object) :將傳入的物件 (object) 轉型為字串。 什麼時候我們會使用到型別轉換的方法 (function) 呢 ? 舉例來說,我們使用 Python字串 中介紹 的 input() 方法來取得使用者輸入的資料,並進行數值運算。   在輸出結果中可以看到我們得到了一個型別的錯誤訊息 (TypeError) ,因為 input() 方法所取得的資料永遠是字串資料型態,而我們在第 2 行將字串資料型態加上數值資料型態, Python 編譯器會不知道是要進行數值相加還是字串相加。所以在進行運算的時候,要確定運算物件的資料型態皆為一致,才不會產生錯誤。 要解決這個範例的錯誤,我們可以使用 int(object) 型別轉換的方法 (function) ,如下圖第 2 行,將 input() 方法取得的字串資料型態轉型為整數資料型態,進行加法運算就不會

[Python教學]Python字串實用技巧

Photo by Sincerely Media on Unsplash 在 Python變數與資料型態 文章中,說明到字串的表示法為文字前後加上單引號或雙引號,使用單引號或雙引號依個人喜好選擇,大部分習慣上使用雙引號。本篇將介紹 Python String( 字串 ) 資料型態的基本用法,包含字串的合併、格式化、裁切及常用的內建方法 (Built-in function) 。 一、字串連接 (String concatenating) 首先,如果要將兩個字串連接起來,在 Python 中使用  +  號,如下所示: 二、字串格式化 (String formatting) 在 Python3 中,提供了簡潔的字串格式化語法,來達到跟上面範例相同的效果。使用方式就是在字串的前方加上 f 或 F 前綴字,接著在 {} 符號中,傳入變數或運算式, Python 會將 {} 中的變數資料或運算結果帶出來。 三、字串裁切 (String slicing) 字串裁切就是基於原字串取出想要的部分,像是想存取字串中特定位置的字元,在 Python 中使用 [] 符號,並傳入索引值。特別注意索引值由 0 開始計算。 如果想從字串的最後一個字母開始存取,則索引值由 -1 開始計算。 以上範例皆為取得單一字母。取得部分字串的方式,則使用  [:]  符號,分別傳入起始索引值及結束索引值 ( 輸出結果不包含結束索引位置的字母 ) ,如下範例: 結束索引值沒輸入的話,代表從起始索引值開始至字串的最後。 相反的,起始索引未輸入, Python 預設會填入 0 。 起始索引值及結束索引值皆不輸入,就相當於複製原字串的意思。 四、常用的字串內建方法 (Built-in function) 什麼是方法 (function) 呢?簡單來說,就是封裝了專們執行某項任務的可重複使用程式碼。舉例來說,洗衣機包含了很多顆功能按鈕,一顆按鈕就是代表一個功能 (function) ,專門執行某項任務(例如:脫水)。本篇就來介紹幾個 Python 字串資料型態常用的內建方法 (Built-in function) 。 1.    upper(): 將字串轉為大寫字母。 2

[Python教學]Python變數與資料型態

Photo by Ilya Pavlov on Unsplash 完成 Visual Studio Code Python環境建置 後,本篇將介紹 Python 變數與基本的資料型態,最後執行自己所撰寫的 Python 程式碼。在開始撰寫程式前,先於桌面建立一個資料夾 (Ex: HelloPython) ,接著開啟 VSCode ,點選【 Open Folder 】,開啟資料夾。 開啟資料夾後,我們來建立一個 Python 檔案 (Ex: app.py) ,這邊要注意, Python 檔案的副檔名為 .py 。 一、變數 (Variable) 變數主要是用來儲存資料,名稱可以自行命名,可以把它想成是一個貼有標籤的箱子,標籤就是變數,裡面存放的物品就是資料。所以在程式進行運算的時候,都是透過變數名稱 ( 標籤 ) 來取得存放在裡面的資料 ( 物品 ) 。 二、指派 (Assign) Python 使用  =  把資料指派給變數,像下面這行程式碼的意思就是,將 100 指派給 x 變數。 三、資料型態 (Data Type) 知道了如何把資料指派給變數後,那有哪些型態的資料是我們可以指派給變數的 ? 下面說明三個 Python 基本的資料型態: 1.  字串 (String) : Python 的字串表示方式,就是在文字的前後加上雙引號    "  或單引號    '  ,兩種都可以,不過建議大家,選擇一種來使用就好,避免在程式碼中有些使用單引號,又有些使用雙引號。 如果要表示多行的文字,則使用三個雙引號    """  。 2.  數值 (Number) :就是我們在數學上所使用的數字,在 Python 中,數值的資料又分為兩種,分別是: 整數 (Integer) :只要是沒有小數點的數值,就叫整數。 浮點數 (Float) :相反的,只要是有小數點的數值,就叫浮點數。 3.  布林值 (Boolean) :布林值就像是我們口語中的「是」和「否」,在 Python 中,以 True 來代表「是」, False 代表「否」。 這邊要特別注意, Python 是一個區分大小寫

Visual Studio Code Python環境建置

在 完成 Python安裝 後,接下來就需要選擇一個開發工具來撰寫程式碼,目前市面上的開發工具有很多,像是 Sublime 、 Visual Studio Code 、 Atom 、 PyCharm 等,各自都有其優點,沒有哪一個工具一定最好,只要依照個人喜好進行選擇就可以了。本篇就以 Windows 平台為例,介紹如何在 Visual Studio Code( 簡稱 VSCode) 中建置 Python 的開發環境。為什麼會推薦使用 VSCode 呢 ? 除了它是一個較輕量的開發工具以外,它還具有以下的特點。 一、 VSCode 特色 1.   Intellisense( 智慧語法提示 ) 於撰寫程式碼時, VSCode 會提示此物件能使用的各種屬性 (Property) 及方法 (Method) ,並且會顯示該方法的簡要說明及回傳的型別。點選需要的方法後,自動完成,無須逐字 Key 完所有的字母,大幅提高撰寫程式碼的效率。 2.   Debugging( 偵錯功能 ) VSCode 擁有出色的偵錯功能,能將中斷點下在可能出問題的程式碼列,並於偵錯模式中,逐步的執行程式碼,左欄視窗會依據執行的過程顯示各個變數目前的數值,減少開發人員除錯的時間。 3.   Bult-in Git( 內建 Git) VSCode 內建 Git 原生的功能,包含常用的如 Pull 、 Push 、 Commit 及不同版本程式碼的異動比較等,讓我們在程式撰寫的過程中,易於進行版本控管。 4.   Code Formatting( 程式碼排版 ) 在稍後教大家安裝 Python 套件後, VSCode 會在儲存的時候,依據 Python 官方的程式碼撰寫風格原則 ( PEP8 - Style Gide for Python Code ) 自動幫我們排版程式碼,提高程式碼的可讀性。 5.   Linting( 程式碼檢查 ) 同樣的安裝完 Python 套件後, VSCode 的 Linting 功能在我們撰寫程式的過程中,分析我們的程式碼,只要有語法上的錯誤,即會顯示紅色的線條,並在下方的 PROBLEMS 頁籤中,提示錯誤的原因。 6.   Extensions( 擴充套件 )