Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Programming Languages Python

Python進階課程:觀念、語法、專案、爬蟲

有效率地提升寫程式的了解與能力
Rating: 4.7 out of 54.7 (77 ratings)
294 students
Created by Allen Liu 劉曣全
Last updated 4/2021
Traditional Chinese
Traditional Chinese
30-Day Money-Back Guarantee

What you'll learn

  • 學習Python的進階觀念與語法
  • 體驗製作專案時的各種細節設計考量
  • 同時見識進階觀念與語法的使用
  • 學會用良好的方式結構具有複雜性的程式專案
  • 學會將專案打包成套件上傳
  • 學會爬蟲處理不同網站的觀念、爬法
  • 學會使用資料庫 (包括NoSQL與SQL)
  • 延伸教材-學會使用Selenium瀏覽器自動化
  • 延伸教材-製作空氣品質監控專案
  • 延伸教材-認識人工智慧、機器學習、深度學習

Course content

10 sections • 90 lectures • 37h 16m total length

  • Preview02:27
  • 前言
    02:19
  • 如何加入線上討論區
    06:09
  • 程式語言的差別
    30:13

  • 將 Sublime Text 的 tab 換成空格
    04:39
  • [來自基礎課程] 安裝 Python
    03:15
  • [來自基礎課程] Mac - 安裝 Python
    02:07
  • [來自基礎課程] 檢查 Python 是否安裝正確
    01:54
  • [來自基礎課程] Mac - 檢查 Python 是否安裝正確
    03:46
  • [來自基礎課程] 安裝 Sublime Text
    01:49
  • [來自基礎課程] Mac - 安裝 Sublime Text
    02:46
  • [來自基礎課程] 安裝 Git
    03:11
  • [來自基礎課程] Mac - 安裝 Git
    02:19
  • [來自基礎課程] Git 初始設定
    02:25
  • [來自基礎課程] 執行第一個Python程式
    06:04
  • [來自基礎課程] Mac - 執行第一個Python程式
    09:05

  • 參數(引數)傳遞模式 Argument-passing Mode
    30:57
  • 命名空間 Namespace
    12:32
  • 範圍 Scope
    16:24
  • 底線在命名中的各種情況與涵義
    25:38
  • 雙底線方法 Dunder Methods
    27:20
  • 繼承 Inheritance
    16:02
  • 繼承 - 相關進階觀念
    21:31
  • 抽象類別 Abstract Class
    27:27
  • 裝飾器 Decorator
    18:50
  • 裝飾器 Decorator Part 2
    13:22
  • 練習寫 Decorator
    1 question
  • 閉包 Closure
    13:39
  • Property 裝飾器
    29:43
  • Staticmethod & Classmethod
    09:14

  • Comment & Docstring
    23:32
  • 字串格式化 String Formatting
    09:40
  • Preview21:33
  • 可迭代物與迭代器 Iterable and Interator
    13:59
  • 產生器 Generator
    28:11
  • 其他進階語法: Enumerate Map Lambda Filter Zip
    23:59

  • 專案介紹
    10:25
  • 安裝 PyCharm
    12:19
  • 虛擬環境 Virtualenv
    24:22
  • git 忽略檔 .gitignore
    15:02
  • 建立專案並了解專案架構
    17:16
  • 取得頻道中所有影片網址
    20:20
  • 如何儲存API Key
    24:11
  • 建立程式碼關鍵架構 - part 1
    31:23
  • 建立程式碼關鍵架構 - part 2
    23:21
  • 下載字幕 part 1 - 持續建立結構
    39:07
  • 下載字幕 part 2 - 遇見API上限
    35:07
  • 讀取字幕
    28:33
  • 搜尋字幕與結構優化 - part 1
    36:56
  • 搜尋字幕與結構優化 - part 2
    28:44
  • 下載影片
    33:22
  • 剪接影片與產出合併影片
    44:16
  • Multithreading vs Multiprocessing 多線程 vs 多進程
    01:25:06
  • Command Line Arguments 程式參數化
    43:15
  • Logging 日誌
    43:41
  • 講座52~54 專案功能增加
    1 question
  • Packaging & Distributing 打包成套件與上傳
    01:10:40

  • 爬蟲與網頁架構解釋
    17:32
  • 了解靜態網站與動態網站 + 安裝工具
    18:23
  • 使用 Requests 與 BeautifulSoup: Ptt 範例
    54:41
  • 作業: Dcard 爬蟲
    1 question
  • 表格類型: Yahoo股市股價資訊範例 & Yahoo電影排行範例
    28:20
  • 表格類型: 八大官股行庫買賣超爬蟲範例
    31:48
  • 表單類型: 期貨籌碼盤後資料範例 - part 1
    54:07
  • [選讀]期貨籌碼盤後資料範例 - part 2
    51:47
  • 爬蟲 X 多線程/多進程
    1 question
  • 表單類型: 時間轉換網站範例 & PostMan
    22:07
  • 圖表類型: 嗨投資、Stock-ai 範例
    42:34
  • 資料類型: 空氣品質監測網 & Regex
    34:49
  • 資料類型: 複習 & Pchome 24h購物範例
    21:04
  • SQL 資料庫基礎概念
    16:47
  • Preview13:04
  • MySQL 語法教學
    53:20
  • 將 Pchome 資料輸入資料庫
    01:06:59
  • MongoDB 下載與安裝
    09:21
  • 將資料輸入 MongoDB
    25:53
  • 從資料庫中搜尋
    48:13

  • Selenium 基礎1
    29:42
  • Selenium 基礎2 - 高鐵網站範例
    34:39
  • Selenium 基礎3 - 半自動悠遊卡查詢範例
    28:27
  • 補充教材: wooTalk聊天機器人
    00:10

  • 專案與硬體設備介紹
    27:38
  • 讀取 PM2.5 Sensor 數據
    07:43
  • Raspberry Pi 硬體設備連接 VOC Sensor
    39:34
  • Arduino 硬體設備連接 VOC Sensor
    21:46
  • 將全部合在一起
    33:35
  • 將資料輸到 MongoDB
    14:11
  • 部屬線上 MongoDB 資料庫
    15:31
  • 使用 dash 建立網站來呈現數據
    58:56
  • 增加 air_minute 資料
    1 question
  • 部屬網站
    30:02
  • 讓程式於開機自動運行
    33:04
  • 延伸作業: 監控程式 - 設計警報觸發的機制
    1 question

  • 什麼是AI、機器學習、深度學習
    56:46
  • 體驗機器學習:分析一百萬筆Amazon商品評價
    57:02

  • 結語
    01:10

Requirements

  • 寫程式的基礎能力。(如果熟悉的語言不是Python,需先自行學習Python的基礎)
  • 課程需求的前置程式觀念:安裝與執行Python程式、Git與GitHub的基本使用、數據型態(Data Types)(包含清單跟字典)、條件式邏輯(Conditional Statements)(也就是if)、迴圈(Loops)、函式(Functions)、檔案讀寫、基本資料處理、內建函式庫(Libraries)的使用、下載與使用第三方函式庫、類別(Class)與物件(Object)。

Description

▌課程簡介

隨著寫程式越來越受到重視,許多非理工背景的同學都紛紛踏上自學寫程式之路。零零碎碎的基礎資源很多,但要有效率的提升程式能力是非常不容易的。一方面進階資源少,一方面大家根本不知道要學什麼,這就是這堂課的存在的意義,希望幫助同學有效率地提升寫程式的了解與能力。

學會寫程式的基礎能力其實不會太困難。會了基礎以後,當你想嘗試開發自己的程式,慢慢地接觸的東西越來越多,會發現還有好多東西要學,開始覺得好像永遠也學不完,而這種想法就很容易讓你半途而廢,中斷了提升能力的熱誠。

雖然程式領域的確又深又廣,但大約可以把這些知識分成幾個等級。透過自學寫程式可以學會level 1沒有問題,再來則面臨兩個問題:

  1. 在缺乏 level 2、level 3 的知識下,寫程式時容易有各種困惑,這樣寫對不對?為什麼這樣會那樣?這是因為缺乏對 寫程式/程式語言 更深層的了解。

  2. 基礎學完後不知道要學什麼,也許搜尋問題時才看到某項沒學過的觀念,想去了解,結果是個複雜的觀念,且需求別的複雜觀念,只好以一知半解收場。

就是因為知道,在這個人人都在自學寫程式的時代,非常多人只會基礎語法,想繼續提升能力但缺乏方向,因此,本課程等於是為各位精心挑選這些 level 2, level 3 的知識,希望幫助同學有效率地提升整體對寫程式的了解與能力。


▌課程特色:

  • 教學方式

    在 Python 基礎課程「Python-輕鬆學會寫程式」推出以後,收到了許多學員表示,過去學過很多其他課程,但一直沒有真正搞懂寫程式,直到這堂課程才得到解惑。這是因為許多教材都只以「結果」呈現,而省略中間過程。

    如果以教學開車比喻,只講哪個踏板是油門,哪個踏板是剎車,顯然學員無法自行上路。只有在開過一次、兩次、三次的示範後,學員才能吸收,原來模式是這樣,原來背後的原理是這樣、設計考量是這樣。這些寫程式的「過程」,無法以簡單帶過踏板達到。

  • 內容設計

    市面上很少寫程式的進階教材,多半都是技術上的單一主題,例如多線程多進程,或是使用資料庫,其實都可以單獨成為一門課程。由於這每個項目都可以講得又深又廣,對於新手來講,不但不知道要學習哪些技術,更沒有毅力在不確定用不用得到的情況下,投資大量時間去鑽研一個東西。

    因此,如同基礎課程,這堂課程的內容,以綜觀程式領域,評估大家在學完基礎程式以後,再下來最適合學習哪些項目,而每個部分大家適合先學到什麼程度。這些內容的設計除了幫助同學提升寫程式的了解與能力,以及體驗Python各領域的應用,同時也更希望可以讓同學打開想像力,啟發出新的專案想法。


▌課程架構:觀念、語法、專案、爬蟲、延伸


  • 章節 1 - 開場


    如同基礎課程,課程有專屬的線上討論區,教大家如何加入後,再以一個前導單元「程式語言的差別」開場,讓大家了解為什麼世界上這麼多程式語言,以及 Python 跟其他程式語言的差別是什麼。


  • 章節 2 - 前置作業


    在進入教學前,為了確保大家都有安裝好需要使用的程式(Python, Sublime Text, Git)。這邊附上基礎課程裡的安裝教學影片。


  • 章節 3 - 進階觀念


    如同課程介紹,多數同學因為只會程式基礎,缺乏對寫程式更深層的了解,自己嘗試寫程式時,容易面臨各式各樣的疑惑,而這個章節就是你的解惑大池。除了提升更細緻對Python的了解,值得一提的是,大部分這些觀念並非Python獨有,而是共通於各種程式語言的核心。


  • 章節 4 - 進階語法


    同學已經會了程式基礎,一定很有感觸語法在寫程式裡只是「工具」而已,怎麼使用這些工具才是最重要的。 這邊將介紹幾個先前還沒教到的語法,除了讓大家認識更多的工具,更讓大家知道怎麼使用這它們。


    學到這邊,相信同學已經對寫程式的了解與能力增加了許多。但除了觀念、語法上的進步,製作專案的能力也需要提升,因此來到第五章節。


  • 章節 5 - 製作進階專案


    來到了製作進階專案的部分,是本課程相當重要的部分。

    只會基礎程式的同學一定有感,如果想做有複雜性的程式,因為缺乏以上單元教到的進階觀念,製作時容易有各式各樣的困惑,而其中有很大部分在於,根本不知道如何架構程式碼、檔案、資料夾。市面上很少、幾乎沒有「專案方面」的教材,因此對於多數學習寫程式的人來講,大部分都是經過很多年的摸索,搜尋,越看越多別人的專案,才慢慢建立這方面的知識、經驗。


    除了資源少以外,另一個關鍵原因是大多教材都是「寫好的程式碼」。而寫程式的過程中,有太多東西是「邊寫邊考量」,只看寫好的程式碼等於跳過了中間的思考過程,所以變成看得懂寫好的程式碼,但無法自己寫出來。


    跟學開車很像,如果我只跟你說:"這個踏板是油門,這是煞車,來,你自己想辦法開到美國",恐怕沒人到的了。但如果開過一次給你看,再把鑰匙給你,未來不管你要開到哪,路途中你都會時常想到示範中,面臨同樣問題時的抉擇,可以省去最費時的迷惘抉擇時間。


    因此這個章節將示範製作一個進階專案,並同時解釋所有設計上的順序、考量、修改、抉擇,相信會大幅提升同學製作專案的能力。

    除了學習製作專案的方式、觀念,也會學習到各種相關技術,包括使用IDE、虛擬環境、多線程多進程、Logging,打包專案等等,未來同學都可以應用於開發自己的專案。


  • 章節 6 - 爬蟲 ╳ 資料庫


    多年前Python還沒有這麼熱絡時,許多工程師之所以會接觸到Python就是為了寫爬蟲。
    結果一路延續下來,爬蟲幾乎可以說是最常與Python一起出現的相關詞。


    由於爬蟲會需求一些對網頁的基本了解,所以先介紹一些基本知識,不用擔心沒網頁基礎。其實爬蟲這種東西比較不是在於「怎麼寫」,而是比較吃經驗,也就是面對怎麼樣的網站怎麼處理。因此,為了讓大家在短時間內累積經驗,這邊會有很多的範例,每個範例都有不同學習的點,讓大家盡量見識多一點的情況,有效率地熟悉爬蟲思維SOP。


    再來會教到資料庫,包括 SQL (使用MySQL) 與 NoSQL (使用MongoDB),也讓同學見識將爬下來的資料存入資料庫中,並做搜尋。


  • 章節 7 - 延伸教材: Selenium 瀏覽器自動化


    Selenium,又被稱為爬蟲神器,其實是一個瀏覽器自動化的技術/工具,也就是可以讓瀏覽器彷彿有人在操作般,自動做操作。這項技術時常被當成爬蟲使用,也屬於爬蟲方法當中的底線王牌,也就是簡易爬蟲抓不了的網站通常會選擇使用 Selenium 來處理。


  • 章節 8 - 延伸教材: 空氣品質監控專案


    人們一天當中有約 90% 的時間在室內,而室內裡許多汙染物卻是室外的2~5倍濃度。雖然人類對健康的追求越來越高,但肺癌仍居高不下,甚至進展成被稱為「新國病」,而室內空汙是時常被忽略卻相當值得被重視的議題。


    雖然大多空氣清淨機已有內建sensor,但無法長期收集數據,也無法主動式地在空氣汙染時發出警告通知。因此,此專案將展示製作一個自己的空氣品質監控器,除了可以知道即時的空氣狀況、蒐集數據,還可以做出主動式的通知。


    此專案的五個主要功能:


    1. 體驗軟硬體結合的有趣、好玩
    2. 體驗/認識 知名微型電腦(Raspberry Pi、Arduino),與透過連線執行 Python 程式
    3. 再次見識資料庫的使用
    4. 做出真正可以幫助生活的工具
    5. 打開想像力,啟發同學產生專案想法


    專案中使用到的設備: 

    微型電腦:Raspberry Pi 4 Model B
    微型電腦:Arduino UNO R3
    VOC-sensor: CCS-811
    VOC-sensor: TGS2600
    PM2.5-sensor: SDS011
    其他零件:杜邦線、麵包板


    如果製作一個最簡易、單純 PM2.5 的空氣品質監控專案,則不須任何微型電腦與其他零件,唯一需要的零件為 PM2.5 的 sensor: SDS011。其本身附帶USB接頭,可直接接進桌電/筆電。不過課程中將透過兩台微型電腦連接不同的 VOC-sensor 讓同學認識這些知名設備,有興趣實作的同學可以再自行購買來連接。


    另外會示範使用 Python 的 Dash 框架來製作一個顯示數據的網站,同時見識如何將各 sensor 的即時數據輸到 MongoDB,再即時顯示在網頁上。最後再部屬資料庫與網頁至雲端,則達到隨時隨地可透過網頁看到即時數據的成果。


  • 章節 9 - 延伸教材: 認識人工智慧


    人工智慧又是一個與 Python 相當關聯的詞。相信完全不了解人工智慧領域的同學,應該會好奇到底這些東西是什麼,到底是如何分析數據,因此在課程的最後,讓有興趣的同學,建立對此領域的基礎了解。


  • 章節 10 - 最終章


    一如往常,在最終章寫下課程結語,希望同學在課程中都有豐富的收穫,不但對 Python 的了解大幅提升,學會製作進階的專案與各種相關技術,學會爬蟲各種相關知識與資料庫,甚至到知名微型電腦的應用,與認識人工智慧。最重要的是,希望課程對同學不只是提供寫法、領域知識上的幫助,更希望課程中的範例、專案可以啟發同學產生自己的專案想法,未來做出有趣、實用的程式,加油!

Who this course is for:

  • 只會基礎程式想要提升程式能力的人
  • 學完基礎課程 ( Python - 輕鬆學會寫程式 ) 的同學

Instructor

Allen Liu 劉曣全
軟體工程師
Allen Liu 劉曣全
  • 4.7 Instructor Rating
  • 1,230 Reviews
  • 2,578 Students
  • 2 Courses

● UCSD (美國加州大學聖地牙哥分校),Computer Science 電腦科學系

● 2014 受邀與券商資深程式交易專家合作

● 2016 UCD (美國加州大學戴維斯分校) 全職工程師,與多位電腦科學系教授合作,為一項 NSF (國家科技協會) 3千萬贊助的專案做程式開發與研究,也是專案中的領導開發者

● 2017 開設實體班教學寫程式

● 2018 製作『Python - 輕鬆學會寫程式』線上課程

● 2019 製作『金融市場 x 程式交易』線上課程

● 2020 製作『Python進階課程:觀念、語法、專案、爬蟲』線上課程

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.