Udemy線上課程 Python進階課程:觀念、語法、專案、爬蟲(含教材) 講師:Allen Liu 劉曣全 影音教學 中文發音 繁體中文版(2DVD)
▌課程簡介隨著寫程式越來越受到重視,許多非理工背景的同學都紛紛踏上自學寫程式之路。
零零碎碎的基礎資源很多,但要有效率的提升程式能力是非常不容易的。
一方面進階資源少,一方面大傢根本不知道要學什麼,這就是這堂課的存在的意義,希望幫助同學有效率地提升寫程式的瞭解與能力。
學會寫程式的基礎能力其實不會太困難。
會瞭基礎以後,當你想嘗試開發自己的程式,慢慢地接觸的東西越來越多,會發現還有好多東西要學,開始覺得好像永遠也學不完,而這種想法就很容易讓你半途而廢,中斷瞭提升能力的熱誠。
雖然程式領域的確又深又廣,但大約可以把這些知識分成幾個等級。
透過自學寫程式可以學會level 1沒有問題,再來則面臨兩個問題:
在缺乏 level 2、level 3 的知識下,寫程式時容易有各種困惑,這樣寫對不對?為什麼這樣會那樣?這是因為缺乏對 寫程式/程式語言 更深層的瞭解。
基礎學完後不知道要學什麼,也許搜尋問題時才看到某項沒學過的觀念,想去瞭解,結果是個複雜的觀念,且需求別的複雜觀念,隻好以一知半解收場。
就是因為知道,在這個人人都在自學寫程式的時代,非常多人隻會基礎語法,想繼續提升能力但缺乏方向,因此,本課程等於是為各位精心挑選這些 level 2, level 3 的知識,希望幫助同學有效率地提升整體對寫程式的瞭解與能力。
▌課程特色:
教學方式
在 Python 基礎課程「Python-輕鬆學會寫程式」推出以後,收到瞭許多學員表示,過去學過很多其他課程,但一直沒有真正搞懂寫程式,直到這堂課程才得到解惑。
這是因為許多教材都隻以「結果」呈現,而省略中間過程。
如果以教學開車比喻,隻講哪個踏板是油門,哪個踏板是剎車,顯然學員無法自行上路。
隻有在開過一次、兩次、三次的示範後,學員才能吸收,原來模式是這樣,原來背後的原理是這樣、設計考量是這樣。
這些寫程式的「過程」,無法以簡單帶過踏板達到。
內容設計
市面上很少寫程式的進階教材,多半都是技術上的單一主題,例如多線程多進程,或是使用資料庫,其實都可以單獨成為一門課程。
由於這每個項目都可以講得又深又廣,對於新手來講,不但不知道要學習哪些技術,更沒有毅力在不確定用不用得到的情況下,投資大量時間去鑽研一個東西。
因此,如同基礎課程,這堂課程的內容,以綜觀程式領域,評估大傢在學完基礎程式以後,再下來最適合學習哪些項目,而每個部分大傢適合先學到什麼程度。
這些內容的設計除瞭幫助同學提升寫程式的瞭解與能力,以及體驗Python各領域的應用,同時也更希望可以讓同學打開想像力,啟發出新的專案想法。
▌課程架構:觀念、語法、專案、爬蟲、延伸
章節 5 - 製作進階專案
來到瞭製作進階專案的部分,是本課程相當重要的部分。
隻會基礎程式的同學一定有感,如果想做有複雜性的程式,因為缺乏以上單元教到的進階觀念,製作時容易有各式各樣的困惑,而其中有很大部分在於,根本不知道如何架構程式碼、檔案、資料夾。
市面上很少、幾乎沒有「專案方面」的教材,因此對於多數學習寫程式的人來講,大部分都是經過很多年的摸索,搜尋,越看越多別人的專案,才慢慢建立這方面的知識、經驗。
除瞭資源少以外,另一個關鍵原因是大多教材都是「寫好的程式碼」。
而寫程式的過程中,有太多東西是「邊寫邊考量」,隻看寫好的程式碼等於跳過瞭中間的思考過程,所以變成看得懂寫好的程式碼,但無法自己寫出來。
跟學開車很像,如果我隻跟你說:"這個踏板是油門,這是煞車,來,你自己想辦法開到美國",恐怕沒人到的瞭。
但如果開過一次給你看,再把鑰匙給你,未來不管你要開到哪,路途中你都會時常想到示範中,面臨同樣問題時的抉擇,可以省去最費時的迷惘抉擇時間。
因此這個章節將示範製作一個進階專案,並同時解釋所有設計上的順序、考量、修改、抉擇,相信會大幅提升同學製作專案的能力。
除瞭學習製作專案的方式、觀念,也會學習到各種相關技術,包括使用IDE、虛擬環境、多線程多進程、Logging,打包專案等等,未來同學都可以應用於開發自己的專案。
章節 6 - 爬蟲 ╳ 資料庫
多年前Python還沒有這麼熱絡時,許多工程師之所以會接觸到Python就是為瞭寫爬蟲。
結果一路延續下來,爬蟲幾乎可以說是最常與Python一起出現的相關詞。
由於爬蟲會需求一些對網頁的基本瞭解,所以先介紹一些基本知識,不用擔心沒網頁基礎。
其實爬蟲這種東西比較不是在於「怎麼寫」,而是比較吃經驗,也就是面對怎麼樣的網站怎麼處理。
因此,為瞭讓大傢在短時間內累積經驗,這邊會有很多的範例,每個範例都有不同學習的點,讓大傢盡量見識多一點的情況,有效率地熟悉爬蟲思維SOP。
再來會教到資料庫,包括 SQL (使用MySQL) 與 NoSQL (使用MongoDB),也讓同學見識將爬下來的資料存入資料庫中,並做搜尋。
章節 8 - 延伸教材: 空氣品質監控專案
人們一天當中有約 90% 的時間在室內,而室內裡許多汙染物卻是室外的2~5倍濃度。
雖然人類對健康的追求越來越高,但肺癌仍居高不下,甚至進展成被稱為「新國病」,而室內空汙是時常被忽略卻相當值得被重視的議題。
雖然大多空氣清淨機已有內建sensor,但無法長期收集數據,也無法主動式地在空氣汙染時發出警告通知。
因此,此專案將展示製作一個自己的空氣品質監控器,除瞭可以知道即時的空氣狀況、蒐集數據,還可以做出主動式的通知。
此專案的五個主要功能:
1. 體驗軟硬體結合的有趣、好玩2. 體驗/認識 知名微型電腦(Raspberry Pi、Arduino),與透過連線執行 Python 程式3. 再次見識資料庫的使用4. 做出真正可以幫助生活的工具5. 打開想像力,啟發同學產生專案想法
專案中使用到的設備:
微型電腦:Raspberry Pi 4 Model B微型電腦:Arduino UNO R3VOC-sensor: CCS-811 VOC-sensor: TGS2600PM2.5-sensor: SDS011其他零件:杜邦線、麵包板
如果製作一個最簡易、單純 PM2.5 的空氣品質監控專案,則不須任何微型電腦與其他零件,唯一需要的零件為 PM2.5 的 sensor: SDS011。
其本身附帶USB接頭,可直接接進桌電/筆電。
不過課程中將透過兩臺微型電腦連接不同的 VOC-sensor 讓同學認識這些知名設備,有興趣實作的同學可以再自行購買來連接。
另外會示範使用 Python 的 Dash 框架來製作一個顯示數據的網站,同時見識如何將各 sensor 的即時數據輸到 MongoDB,再即時顯示在網頁上。
最後再部屬資料庫與網頁至雲端,則達到隨時隨地可透過網頁看到即時數據的成果。
?Quiz(pythonadvanced).html
01 開場
001 課程介紹.mp4
002 前言.html
003 如何加入線上討論區.mp4
003 如何加入線上討論區.zh.srt
004 程式語言的差別.mp4
004 程式語言的差別.zh.srt
external-assets-links.txt
02 前置作業
005 將 Sublime Text 的 tab 換成空格.mp4
005 將 Sublime Text 的 tab 換成空格.zh.srt
006 [來自基礎課程] 安裝 Python.mp4
006 [來自基礎課程] 安裝 Python.zh.srt
007 [來自基礎課程] Mac - 安裝 Python.mp4
007 [來自基礎課程] Mac - 安裝 Python.zh.srt
008 [來自基礎課程] 檢查 Python 是否安裝正確.mp4
008 [來自基礎課程] 檢查 Python 是否安裝正確.zh.srt
009 [來自基礎課程] Mac - 檢查 Python 是否安裝正確.mp4
009 [來自基礎課程] Mac - 檢查 Python 是否安裝正確.zh.srt
010 [來自基礎課程] 安裝 Sublime Text.mp4
010 [來自基礎課程] 安裝 Sublime Text.zh.srt
011 [來自基礎課程] Mac - 安裝 Sublime Text.mp4
011 [來自基礎課程] Mac - 安裝 Sublime Text.zh.srt
012 [來自基礎課程] 安裝 Git.mp4
012 [來自基礎課程] 安裝 Git.zh.srt
013 [來自基礎課程] Mac - 安裝 Git.mp4
013 [來自基礎課程] Mac - 安裝 Git.zh.srt
014 [來自基礎課程] Git 初始設定.mp4
014 [來自基礎課程] Git 初始設定.zh.srt
015 [來自基礎課程] 執行第一個Python程式.mp4
015 [來自基礎課程] 執行第一個Python程式.zh.srt
016 [來自基礎課程] Mac - 執行第一個Python程式.mp4
016 [來自基礎課程] Mac - 執行第一個Python程式.zh.srt
03 進階觀念
017 參數(引數)傳遞模式 Argument-passing Mode.mp4
017 參數(引數)傳遞模式 Argument-passing Mode.zh.srt
018 命名空間 Namespace.mp4
018 命名空間 Namespace.zh.srt
019 範圍 Scope.mp4
019 範圍 Scope.zh.srt
020 底線在命名中的各種情況與涵義.mp4
020 底線在命名中的各種情況與涵義.zh.srt
021 雙底線方法 Dunder Methods.mp4
021 雙底線方法 Dunder Methods.zh.srt
022 繼承 Inheritance.mp4
022 繼承 Inheritance.zh.srt
023 繼承 - 相關進階觀念.mp4
023 繼承 - 相關進階觀念.zh.srt
024 抽象類別 Abstract Class.mp4
024 抽象類別 Abstract Class.zh.srt
025 裝飾器 Decorator.mp4
025 裝飾器 Decorator.zh.srt
026 裝飾器 Decorator Part 2.mp4
026 裝飾器 Decorator Part 2.zh.srt
027 閉包 Closure.mp4
027 閉包 Closure.zh.srt
028 Property 裝飾器.mp4
028 Property 裝飾器.zh.srt
029 Staticmethod & Classmethod.mp4
029 Staticmethod & Classmethod.zh.srt
04 進階語法
030 Comment & Docstring.mp4
030 Comment & Docstring.zh.srt
031 字串格式化 String Formatting.mp4
031 字串格式化 String Formatting.zh.srt
032 例外捕捉 Exception Handling.mp4
032 例外捕捉 Exception Handling.zh.srt
033 可迭代物與迭代器 Iterable and Interator.mp4
033 可迭代物與迭代器 Iterable and Interator.zh.srt
034 產生器 Generator.mp4
034 產生器 Generator.zh.srt
035 其他進階語法_ Enumerate Map Lambda Filter Zip.mp4
035 其他進階語法_ Enumerate Map Lambda Filter Zip.zh.srt
05 進階專案
036 專案介紹.mp4
036 專案介紹.zh.srt
037 安裝 PyCharm.mp4
037 安裝 PyCharm.zh.srt
038 虛擬環境 Virtualenv.mp4
038 虛擬環境 Virtualenv.zh.srt
039 git 忽略檔 .gitignore.mp4
039 git 忽略檔 .gitignore.zh.srt
040 建立專案並了解專案架構.mp4
040 建立專案並了解專案架構.zh.srt
041 取得頻道中所有影片網址.mp4
041 取得頻道中所有影片網址.zh.srt
042 如何儲存API Key.mp4
042 如何儲存API Key.zh.srt
043 建立程式碼關鍵架構 - part 1.mp4
043 建立程式碼關鍵架構 - part 1.zh.srt
044 建立程式碼關鍵架構 - part 2.mp4
044 建立程式碼關鍵架構 - part 2.zh.srt
045 下載字幕 part 1 - 持續建立結構.mp4
045 下載字幕 part 1 - 持續建立結構.zh.srt
046 下載字幕 part 2 - 遇見API上限.mp4
046 下載字幕 part 2 - 遇見API上限.zh.srt
047 讀取字幕.mp4
047 讀取字幕.zh.srt
048 搜尋字幕與結構優化 - part 1.mp4
048 搜尋字幕與結構優化 - part 1.zh.srt
049 搜尋字幕與結構優化 - part 2.mp4
049 搜尋字幕與結構優化 - part 2.zh.srt
050 下載影片.mp4
050 下載影片.zh.srt
051 剪接影片與產出合併影片.mp4
051 剪接影片與產出合併影片.zh.srt
052 Multithreading vs Multiprocessing 多線程 vs 多進程.mp4
052 Multithreading vs Multiprocessing 多線程 vs 多進程.zh.srt
053 Command Line Arguments 程式參數化.mp4
053 Command Line Arguments 程式參數化.zh.srt
054 Logging 日誌.mp4
054 Logging 日誌.zh.srt
055 Packaging & Distributing 打包成套件與上傳.mp4
055 Packaging & Distributing 打包成套件與上傳.zh.srt
external-assets-links.txt
06 爬蟲 ╳ 資料庫
056 爬蟲與網頁架構解釋.mp4
056 爬蟲與網頁架構解釋.zh.srt
057 了解靜態網站與動態網站 + 安裝工具.mp4
057 了解靜態網站與動態網站 + 安裝工具.zh.srt
058 使用 Requests 與 BeautifulSoup_ Ptt 範例.mp4
058 使用 Requests 與 BeautifulSoup_ Ptt 範例.zh.srt
059 表格類型_ Yahoo股市股價資訊範例 & Yahoo電影排行範例.mp4
059 表格類型_ Yahoo股市股價資訊範例 & Yahoo電影排行範例.zh.srt
060 表格類型_ 八大官股行庫買賣超爬蟲範例.mp4
060 表格類型_ 八大官股行庫買賣超爬蟲範例.zh.srt
061 表單類型_ 期貨籌碼盤後資料範例 - part 1.mp4
061 表單類型_ 期貨籌碼盤後資料範例 - part 1.zh.srt
062 [選讀]期貨籌碼盤後資料範例 - part 2.mp4
062 [選讀]期貨籌碼盤後資料範例 - part 2.zh.srt
063 表單類型_ 時間轉換網站範例 & PostMan.mp4
063 表單類型_ 時間轉換網站範例 & PostMan.zh.srt
064 圖表類型_ 嗨投資、Stock-ai 範例.mp4
064 圖表類型_ 嗨投資、Stock-ai 範例.zh.srt
065 資料類型_ 空氣品質監測網 & Regex.mp4
065 資料類型_ 空氣品質監測網 & Regex.zh.srt
066 資料類型_ 複習 & Pchome 24h購物範例.mp4
066 資料類型_ 複習 & Pchome 24h購物範例.zh.srt
067 .txt
067 SQL 資料庫基礎概念.mp4
067 SQL 資料庫基礎概念-zh.srt
068 MySQL 下載與安裝.mp4
068 MySQL 下載與安裝-zh.srt
069 6-14.sql
069 MySQL 語法教學.mp4
069 MySQL 語法教學-zh.srt
070 將 Pchome 資料輸入資料庫.mp4
070 將 Pchome 資料輸入資料庫.zh.srt
071 MongoDB 下載與安裝.mp4
071 MongoDB 下載與安裝.zh.srt
072 將資料輸入 MongoDB.mp4
072 將資料輸入 MongoDB.zh.srt
073 從資料庫中搜尋.mp4
073 從資料庫中搜尋.zh.srt
external-assets-links.txt
07 延伸教材_ Selenium 瀏覽器自動化
074 什麼是 Selenium.html
075 使用 Selenium.html
076 悠遊卡紀錄查詢範例.html
077 補充教材_ wooTalk聊天機器人.html
08 延伸教材_ 空氣品質監控專案
078 專案與硬體設備介紹.html
079 讀取 PM2.5 Sensor 數據.html
080 延伸:Raspberry Pi 硬體設備連接 VOC Sensor.html
081 延伸:Arduino 硬體設備連接 VOC Sensor.html
082 將全部合在一起.html
083 將資料輸到MongoDB.html
084 使用 dash 建立網站來呈現數據.html
085 監控程式.html
086 部屬線上 MongoDB 資料庫.html
087 部屬網站.html
09 延伸教材_ 認識人工智慧
088 什麼是AI、機器學習、深度學習.html
089 體驗分析一百萬筆Amazon商品評價.html
090 深度學習應用展示.html
10 最終章
091 結語.html