一润绵、前言
學習就是一個不斷的自下而上,自上而下的過程胞谈。
前段時間尘盼,學著用python實現(xiàn)網(wǎng)站的數(shù)據(jù)爬取,隱約get到python的一些語法和用法烦绳,感覺就是語法不難卿捎,關鍵在于解決問題的思維。
這是需求驅(qū)動后的學習径密。接下來午阵,就需要對python進行系統(tǒng)地了解。
很早之前搜知乎的時候享扔,就搜到MOOC上的一門《python語言程序設計》課程底桂,講得很好,而且惧眠,我還下載了課件籽懦,溜了一遍,感覺就挺有趣的氛魁。
趁著有了實戰(zhàn)經(jīng)驗暮顺,就把這門入門課刷了一遍。果然是門好課秀存!很適合小白入門捶码,并系統(tǒng)學習,整個教學過程循序漸進或链,深入淺出宙项,提綱挈領,很有意思株扛!
課程是北京理工大學嵩天老師的《python語言程序設計》課程尤筐,現(xiàn)在已經(jīng)開了11次課了。課程每個小視頻短則幾分鐘洞就,最長也不超過20分鐘盆繁,不容易勸退。每章講解有復習回顧及小結(jié)旬蟋,在平臺python123上有每章的練習和測試油昂,直接反饋結(jié)果,激發(fā)繼續(xù)學下去的興趣。
個人感覺冕碟,老師說話速度慢了些拦惋,調(diào)成了2倍速播放,然后安寺,花了大約3天的時間厕妖,把所有的視頻,課件挑庶,練習和測試都刷了一遍言秸,感覺對python的了解更系統(tǒng)了!
趁熱打鐵迎捺,把每章的知識點和練習举畸、測試再進行整理回顧一下。
以下內(nèi)容均來自課程:《python語言程序設計》 及平臺python123凳枝,感興趣的看課程視頻抄沮,親自練習,效果更好~
二岖瑰、知識點
1.從數(shù)據(jù)處理到人工智能
-
Python庫之數(shù)據(jù)分析
庫 描述 Numpy 表達N維數(shù)組的最基礎庫 Pandas Python數(shù)據(jù)分析高層次應用庫 SciPy 數(shù)學合是、科學和工程計算功能庫
-
Python庫之數(shù)據(jù)可視化
庫 描述 Matplotlib 高質(zhì)量的二維數(shù)據(jù)可視化功能庫 Seaborn 統(tǒng)計類數(shù)據(jù)可視化功能庫 Mayavi 三維科學數(shù)據(jù)可視化功能庫 -
Python庫之文本處理
庫 描述 PyPDF2 用來處理pdf文件的工具集;支持獲取信息锭环、分隔/整合文件聪全、加密解密等; NLTK 自然語言文本處理第三方庫辅辩,支持語言文本分類难礼、標記、語法句法玫锋、語義分析等 Python-docx 創(chuàng)建或更新word文件的第三方庫蛾茉,提供創(chuàng)建或更新.doc或.docx文件;增加并配置段落撩鹿、圖片谦炬、表格、文字等 -
Python庫之機器學習
庫 描述 Scikit-learn 機器學習方法工具集节沦,提供聚類键思、分類、回歸甫贯、強化學習等計算功能 TensorFlow AlphaGo背后的機器學習計算框架 MXNet 基于神經(jīng)網(wǎng)絡的深度學習計算框架吼鳞;可用于自動駕駛、機器翻譯叫搁、語音識別等眾多領域
2. 實例15:霍蘭德人格分析雷達圖
3.從Web解析到網(wǎng)絡空間
-
Python庫之網(wǎng)絡爬蟲
庫 描述 Requests 最友好的網(wǎng)絡爬蟲功能庫赔桌,最主要的頁面級網(wǎng)絡爬蟲功能庫 Scrapy 最主要且最專業(yè)的的網(wǎng)絡爬蟲框架供炎;提供構(gòu)建網(wǎng)絡爬蟲系統(tǒng)的框架功能,功能半成品疾党;支持批量和定時網(wǎng)頁爬取音诫、提供數(shù)據(jù)處理流程等; pyspider 強大的web頁面爬取系統(tǒng)雪位,提供完整的網(wǎng)頁爬取系統(tǒng)構(gòu)建功能竭钝;支持數(shù)據(jù)框后端、消息隊列茧泪、優(yōu)先級、分布式架構(gòu)等聋袋; -
Python庫之Web信息提取
庫 描述 Beautiful Soup HTML和XML的解析庫队伟;又名beautifsoup4或bs4,常與網(wǎng)絡爬蟲庫搭配使用幽勒; Re 正則表達式解析和處理功能庫嗜侮,Python最主要的標準庫之一;可用于各種場景啥容,包括定點的Web信息提刃饪拧; Python-Goose 提取文章類型Web頁面的功能庫咪惠,最主要的web信息提取庫击吱;提供了對web頁面中文章信息/視頻等元數(shù)據(jù)的提取功能; -
Python庫之Web網(wǎng)站開發(fā)
庫 描述 Django 最流行的web應用框架遥昧;MTV模式覆醇;Python最重要的web應用框架,略微復雜的應用框架 Pyramid 規(guī)模適中的web應用框架炭臭;Python產(chǎn)品級web應用框架永脓,起步簡單可擴展性好; Flask web應用開發(fā)微框架鞋仍;提供了最簡單構(gòu)建web系統(tǒng)的應用框架常摧;簡單、規(guī)模小威创、快速落午; -
Python庫之網(wǎng)絡應用開發(fā)
庫 描述 WeRoBot 微信公眾號開發(fā)框架;提供了解析微信服務器消息及反饋消息的功能肚豺;建立微信機器人的重要技術手段板甘; api 百度AI開放平臺接口;提供了訪問百度AI服務的Python功能接口详炬;語音盐类、人臉寞奸、OCR、NLP在跳、知識圖片枪萄、圖像搜索等領域;python百度AI應用的最主要方式猫妙; MyQR 二維碼生成第三方庫瓷翻;提供了生成二維碼的系列功能;基本二維碼割坠、藝術二維碼和動態(tài)二維碼齐帚;
4.從人機交互到藝術設計
-
Python庫之圖形用戶界面
庫 描述 PyQt5 Qt開發(fā)框架的Python接口;提供了創(chuàng)建Qt5程序的Python API接口彼哼;Qt是非常成熟的跨平臺桌面應用開發(fā)系統(tǒng)对妄,完備GUI;推薦的Python GUI開發(fā)第三方庫敢朱; wxPython 跨平臺GUI開發(fā)框架剪菱;提供了專用于Python的跨平臺GUI開發(fā)框架;理解數(shù)據(jù)類型與索引的類型,操作索引即操作數(shù)據(jù);Python最主要的數(shù)據(jù)分析功能庫洼专,基于Numpy開發(fā)疮绷; PyGObject 使用GTK+開發(fā)GUI的功能庫;提供了整合GTK+,WebKitGTK+等庫的功能;GTK+:跨平臺的一種用戶圖形界面GUI框架; -
Python庫之游戲開發(fā)
庫 描述 PyGame 簡單的游戲開發(fā)功能庫;提供了基于SDL的簡單游戲開發(fā)功能及實現(xiàn)引擎冻押;理解游戲?qū)ν獠枯斎氲捻憫獧C制及角色構(gòu)建和交互機制;Python游戲入門最主要的第三方庫 Panda3D 開源盛嘿、跨平臺的3D渲染和游戲開發(fā)庫洛巢;一個3D游戲引擎,提供Python和C++兩種接口次兆;支持很多先進特性:法線貼圖稿茉、光澤貼圖、卡通渲染等芥炭;由迪士尼和卡尼基梅隆大學共同開發(fā)漓库; cocos2d 構(gòu)建2D游戲和圖形界面交互式應用的框架;提供了基于OpenGL的游戲開發(fā)圖形渲染功能园蝠;支持GPU加速渺蒿,采用樹形結(jié)構(gòu)分層管理游戲?qū)ο箢愋停贿m用于2D專業(yè)級游戲開發(fā)彪薛; -
Python庫之虛擬現(xiàn)實
庫 描述 VR Zero 在樹莓派上開發(fā)VR應用的Python庫茂装;提供大量與VR開發(fā)相關的功能怠蹂;針對樹莓派的VR開發(fā)庫,支持設備小型化少态,配置簡單化城侧;非常適合初學者實踐VR開發(fā)及應用 pyovr Oculus Rift的python開發(fā)接口;基于成熟的VR設備彼妻,提供全套文檔嫌佑,工業(yè)級應用設備;Python+虛擬現(xiàn)實領域探索的一種思路侨歉; Vizard 基于Python的通用VR開發(fā)引擎屋摇;專業(yè)的企業(yè)級VR開發(fā)引擎;提供詳細的官方文檔幽邓;支持多種主流的VR硬件設備炮温,具有一定通用性; -
Python庫之圖形藝術
庫 描述 Quads 迭代藝術颊艳;對圖片進行四分迭代茅特,形成像素風忘分;可以生成動圖或靜圖圖像棋枕;簡單易用,具有很高展示度妒峦; ascii_art ASCII藝術庫重斑;將普通圖片轉(zhuǎn)為ASCII藝術風格;輸出可以使純文本或彩色文本肯骇;可采用圖片格式輸出窥浪; turtle 海龜繪圖體系,Python自帶標準庫
5.實例16:玫瑰花繪制
三笛丙、測試
1.選擇題
-
以下選項不是Python數(shù)據(jù)可視化方向第三方庫的是:
A Matplotlib B Mayavi C Pyramid D Seaborn
Pyramid是Web開發(fā)框架庫漾脂。
-
以下選項不是Python網(wǎng)站開發(fā)框架方向第三方庫的是:
A Django B Flask C Pyramid D redis-py
redis-py是redis數(shù)據(jù)的Python訪問接口。
-
以下選項不是Python數(shù)據(jù)分析方向第三方庫是:
A Scrapy B Numpy C SciPy D Pandas
Scrapy是網(wǎng)絡爬蟲庫
-
以下選項不是Python Web信息提取方向第三方庫的是:
A Re B wxPython C Beautiful Soup D Python-Goose
wxPython是GUI第三方庫胚鸯。
-
以下選項不是Python文本處理方向第三方庫的是:
A python-docx B pyovr C PyPDF2 D NLTK
pyovr是增強現(xiàn)實開發(fā)庫骨稿。
-
以下選項不是Python網(wǎng)絡爬蟲方向第三方庫的是:
A Python-Goose B pyspider C Scrapy D Requests
Python-Goose是Web提取第三方庫。
-
以下選項不是Python圖形用戶界面方向第三方庫的是:
A PyQt5 B Vizard C wxPython D PyGObject
Vizard是虛擬現(xiàn)實第三方庫姜钳。
-
以下選項不是Python游戲開發(fā)方向第三方庫的是:
A aip B Panda3D C PyGame D cocos2d
aip是baidu的人工智能功能Python訪問接口坦冠。
-
以下選項不是Python人工智能方向第三方庫的是:
A Scikit-Learn B Seaborn C MXNet D TensorFlow
Seaborn是數(shù)據(jù)可視化第三方庫。
- 以下選項不是Python網(wǎng)絡應用開發(fā)方向第三方庫的是:
A WeRobot B numpy C aip D MyQR
numpy是多維度數(shù)據(jù)處理第三方庫哥桥。
2.程序設計題
- 系統(tǒng)基本信息獲取
描述:獲取系統(tǒng)的遞歸深度辙浑、當前執(zhí)行文件路徑、系統(tǒng)最大UNICODE編碼值等3個信息拟糕,并打印輸出判呕。
輸出格式如下:
RECLIMIT:<深度>, EXEPATH:<文件路徑>, UNICODE:<最大編碼值>
提示:請在sys標準庫中尋找上述功能倦踢。
import sys
print("RECLIMIT:{}, EXEPATH:{}, UNICODE:{}".format(sys.getrecursionlimit(), sys.executable, sys.maxunicode))
- 二維數(shù)據(jù)表格輸出
描述:tabulate能夠?qū)ΧS數(shù)據(jù)進行表格輸出,是Python優(yōu)秀的第三方計算生態(tài)佛玄。
參考編程模板中給定的數(shù)據(jù)和代碼硼一,編寫程序,能夠輸出如下風格效果的表格數(shù)據(jù)梦抢。
from tabulate import tabulate
data = [ ["北京理工大學", "985", 2000], \
["清華大學", "985", 3000], \
["大連理工大學", "985", 4000], \
["深圳大學", "211", 2000], \
["沈陽大學", "省本", 2000], \
]
print(tabulate(data, tablefmt="grid"))
四般贼、期末測驗: 課程水平綜合測驗
1.無空隙回聲輸出
描述:獲得用戶輸入,去掉其中全部空格奥吩,將其他字符按收入順序打印輸出哼蛆。
txt = input()
print(txt.replace(" ", ""))
2.文件關鍵行數(shù)
描述:關鍵行指一個文件中包含的不重復行。關鍵行數(shù)指一個文件中包含的不重復行的數(shù)量霞赫。
統(tǒng)計附件文件中與關鍵行的數(shù)量腮介。
f = open("latex.log")
ls = f.readlines()
s = set(ls)
print("共{}關鍵行".format(len(s)))
3.二維數(shù)據(jù)表格輸出
同上
4.系統(tǒng)基本信息獲取
同上
【筆記】《python語言程序設計》—Python基本語法元素
【筆記】《python語言程序設計》—Python基本圖形繪制
【筆記】《python語言程序設計》——基本數(shù)據(jù)類型
【筆記】《python語言程序設計》——程序的控制結(jié)構(gòu)
【筆記】《python語言程序設計》——函數(shù)和代碼復用
【筆記】《python語言程序設計》——組合數(shù)據(jù)類型