日期:108年8月8, 10日(四、六)
時間:9:00 – 16:00
地點:樹林國小福祿樓2樓電腦教室
主題:從範例學程式進階 – Python
講師:邱昭士
公文:
Python 入門、開發環境與工具
參考用書:
PyGame
- Pygame 官方網站
- Python遊戲教學
- Python遊戲程式設計(Pygame) – IT閱讀 – ITREAD01.COM
- Invent Your Own Computer Games with Python
- Making Games with Python & Pygame
上課用線上資源及範例:
def oddfn(x): # return x if (x % 2 == 1) else None if x % 2 == 1: return x else: return None
mylist = [5, 10, 15, 20, 25, 30]
filter_object = filter(oddfn, mylist) # 傳回filter object print("奇數串列: ", [item for item in filter_object])
itemlist = [item for item in mylist if oddfn(item)] print("奇數串列: ", itemlist)
itemlist = [] for item in mylist: if oddfn(item): itemlist.append(item) print("奇數串列: ", itemlist)
使用 Python 處理各式文件:
一、處理 Word 文件
- 外掛模組:python-docx
- 下載安裝:pip install python-docx
- 程式導入:import docx
- 線上說明:python-docx documentation
在 python-docx 模組內,將 Word 文件結構分成 3 層:
- Document
- Paragraph
- Run
wdoc = docx.Document('檔案名稱') # 建立 docx 物件 wdoc wdoc.paragraphs wdoc.paragraphs[n].runs wdoc.paragraphs[n].text wdoc.paragraphs[n].runs[m].text
二、處理 PDF 文件
- 外掛模組:PyPDF2
- 下載安裝:pip install PyPDF2
- 程式導入:import PyPDF2
- 線上說明:PyPDF2 Documentation
pdfObj = open('pdf_file', 'rb') # 'rb' 表示以二進位方式開啟 pdfRd = PyPDF2.PdfFileReader(pdfObj) # 讀取 PDF 內容
三、處理 Excel 文件
- 外掛模組:openpyxl
- 下載安裝:pip install openpyxl
- 程式導入:import openpyxl
- 線上說明:A Python library to read/write Excel 2010 xlsx/xlsm files
wb = openpyxl.load_workbook('excel_file') allSheets = wb.get_sheet_names() ws = wb.get_active_sheet() ws = wb.get_sheet_by_name('2020Q3')
四、處理 CSV 文件
- 內建模組
- 程式導入:import csv
- 線上說明: CSV文件讀寫
fn = 'csvReport.csv' with open(fn) as csvFile: csvReader = csv.reader(csvFile) for row in csvReader: print("Row %s = " % csvReader.line_num, row)
fn = 'out20_7.csv' with open(fn, 'w', newline = '') as csvFile: # 開啟csv檔案 csvWriter = csv.writer(csvFile) # 建立Writer物件 csvWriter.writerow(['Name', 'Age', 'City']) csvWriter.writerow(['Hung', '35', 'Taipei']) csvWriter.writerow(['James', '40', 'Chicago'])
網路爬蟲
- 內建模組:webbrowser
- 認識 Google 地圖
- 下載網頁資訊使用外掛模組:requests
- 線上說明:Requests 快速上手
- 解析網頁使用外掛模組:BeautifulSoup
- 網路爬蟲的王者:Selenium
PyGame 範例
PyGame 影音教學 MovingBall
- 程式碼下載:https://github.com/anchiang/MovingBallTutor
- PyGame 教學 MovingBall01:https://youtu.be/1h1zste38c4
- PyGame 教學 MovingBall02:https://youtu.be/DXhpxLjmPHk
- PyGame 教學 MovingBall03:https://youtu.be/oFo2hZUHBDw
學習資源:
- 2018 iT 邦幫忙鐵人賽 – Python自習手札
- 2019 iT 邦幫忙鐵人賽 – Python 30天學習日誌
- 2019 iT 邦幫忙鐵人賽 – Python 自學歷程分享
- Python – 維基百科,自由的百科全書
- VPhysics:Python程式設計和物理的火花碰撞(1060802-0804)
- Python 官方網站
- Python 台灣使用者群組
- Python – 十分鐘入門
- Python 入門 | Django Girls Taipei
- Django Girls 教學手冊 | Django Girls Taipei
- Coding 初學指南-Python – Liang2’s Blog
- 語言技術:Python Gossip
- 專欄文章:Python Tutorial
- Python 慣用語 – 遵循 PEP 8 的命名規則
- inventwithpython.com
- 莫煩Python
Python Library 與第三方程式碼:
- Python 3 Module of the Week
- Pygame 官方網站
- Python遊戲教學
- wxPython 官方網站:Python的GUI toolkit,包裝了知名的C++ GUI toolkit。
- wxPython – 維基百科,自由的百科全書
- Maxkit: 使用wxPython開發跨平台視窗程式
- PyInstaller 官方網站
- pip for Windows
- Pypi:https://pypi.python.org
- github:https://github.com/python