編程即是興趣径荔,也是一項生存技能休讳,編程的魅力就在于指引我們用編程思維處理問題。因為編程體系有著非常嚴密的邏輯赵哲,所以在學(xué)習(xí)編程的過程中待德,也會深刻影響著學(xué)習(xí)者的思維能力和思考方式。為了方便大家理解和更好地入門Python枫夺,Python學(xué)習(xí)線路圖将宪,按照學(xué)習(xí)模塊進行了細化知識點的拆分說明,希望對大家的學(xué)習(xí)有一定的借鑒作用:
一橡庞、Python基礎(chǔ)階段
技能樹:掌握python腳本较坛、python界面編程能力、數(shù)據(jù)庫扒最、基本爬蟲丑勤、多線程多進程開發(fā)能力,可以勝任基本的python開發(fā)工作吧趣。
知識點細化:
1.?數(shù)據(jù)的存儲:Python概述法竞、進制以及進制轉(zhuǎn)換、原碼强挫、反碼岔霸、補碼、第一個Python程序纠拔、終端讀取與打印等秉剑。
2.?運算符與表達式:關(guān)鍵字和標識符、算術(shù)運算符稠诲、python數(shù)據(jù)類型侦鹏、賦值運算符、運算符臀叙、復(fù)合運算符略水、條件控制語句(if..else...)、邏輯運算符等劝萤。
3.?循環(huán):循環(huán)語句之while渊涝、循環(huán)語句之for、break與continue語句等。
4. 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu):Number與數(shù)學(xué)函數(shù)操作跨释、String(查找胸私,替換,下標索引鳖谈、列表(常用)岁疼、元組、字典(常用)缆娃、set集合捷绒、迭代器與生成器(常用)、函數(shù)概述等。
5.?函數(shù):函數(shù)的調(diào)用、簡單函數(shù)的定義提前、函數(shù)的返回值、傳遞參數(shù)字逗、關(guān)鍵字參數(shù)、默認參數(shù)显押、不定長參數(shù)扳肛、匿名函數(shù)傻挂、裝飾器乘碑、偏函數(shù)、回調(diào)函數(shù)金拒、變量的作用域兽肤、遞歸函數(shù)、目錄遍歷绪抛、遞歸遍歷目錄资铡、棧模擬遞歸遍歷目錄(深度遍歷)、隊列模擬遞歸遍歷目錄(廣度遍歷)等幢码。
6.?模塊:模塊概述使用標準庫中的模塊使用自定義模塊name屬性包的概述安裝第三方模塊virtualenv與時間相關(guān)模塊笤休。
7.?面向?qū)ο缶幊蹋?/b>面向?qū)ο笏枷搿㈩惻c對象症副、類的方法與屬性店雅、構(gòu)造函數(shù)與析構(gòu)函數(shù)、self的使用贞铣、重寫__ repr__ 與__str__ 函數(shù)闹啦、訪問限制等。
8.?繼承辕坝、封裝窍奋、多態(tài):單繼承的實現(xiàn)、多繼承的實現(xiàn)、函數(shù)重寫琳袄、人開槍射擊子彈小案例江场、多態(tài)、對象屬性與類屬性窖逗、類方法與靜態(tài)方法等扛稽。
9.?面向?qū)ο蟾唠A:動態(tài)添加屬性方法、property滑负、運算符重載在张、發(fā)郵件與發(fā)短信等。
10.?文件操作與異常處理:StringIO與BytesIO矮慕、文件的管理操作帮匾、文件讀寫(csv、txt)操作痴鳄、異常處理等瘟斜。
11.?高階函數(shù)與測試:調(diào)試(打印、斷言痪寻、logging螺句、pdb)
12.?排列組合與正則表達:破解密碼(排列、組合橡类、排列組合)蛇尚、正則表達等。
13.?網(wǎng)絡(luò)編程:TCP/IP簡介顾画、TCP編程取劫、UDP編程等。
二研侣、Linux和數(shù)據(jù)庫階段
技能樹:掌握Linux操作系統(tǒng)管理技術(shù)谱邪,可以搭建幾乎所有Linux環(huán)境服務(wù)器。
知識點細化:
1.Linux操作系統(tǒng):常見操作系統(tǒng)庶诡、操作系統(tǒng)發(fā)展歷史惦银、系統(tǒng)的使用、Linux版本末誓、Linux應(yīng)用領(lǐng)域扯俱、虛擬機與Vmware的安裝、Linux版本與Ubuntu 16.04基显、配置自己的Linux系統(tǒng)蘸吓、編程IDE的安裝、apt-get安裝軟件包撩幽。
2.?文件系統(tǒng)與用戶管理:目錄訪問库继、文件與目錄的管理箩艺、文件的權(quán)限、用戶管理宪萄。
3.?文本操作命令:文本命令艺谆、文本編輯器Vi/Vim。
4.?網(wǎng)路命令拜英、進程管理與服務(wù)配置:網(wǎng)絡(luò)管理命令静汤、系統(tǒng)目錄、重要系統(tǒng)文件居凶、設(shè)置開機啟動與登陸啟動虫给、IP配置、服務(wù)的啟動停止侠碧、防火墻配置抹估。
5.?Shell編程與bash、源文件編譯:基礎(chǔ)IO操作弄兜、流程控制药蜻、定義變量與環(huán)境變量、腳本傳參替饿、定時任務(wù)语泽、定時系統(tǒng)操作。
6.?版本控制:Git的安裝與配置视卢、GitHub的注冊與使用踱卵、Clone與Fork、Git常用命令腾夯、標簽颊埃、分支與源蔬充、多人協(xié)作開發(fā)蝶俱。
7.?MySQL基本使用:MySQL的安裝、MySQL簡介饥漫、MySQL基本命令腳本榨呆、MySQL與Python的交互。
8.?MongoDB的基本使用:MongoDB安裝庸队、MongoDB的基本操作积蜻。
9.?Redis的基本使用:Redis安裝、Redis的基本操作彻消、Redis的數(shù)據(jù)類型竿拆、Redis的備份與恢復(fù)。
三宾尚、Python web開發(fā)
技能樹:掌握Python后端框架丙笋,解決前后端Web開發(fā)問題谢澈。
知識點細化:
1.?HelloDjango:BS/CS,MVC/MTV、Django請求流程御板、Admin管理锥忿。
2.?Models:ORM、模型字段屬性怠肋、CRUD敬鬓、聚合函數(shù),F(xiàn),Q對象笙各。
3.?Models&Templates:模型對應(yīng)關(guān)系钉答、模板加載、靜態(tài)資源杈抢、模板語法希痴。
4.?Views:路由規(guī)則、反向解析春感、請求與響應(yīng)砌创、會話技術(shù)cookie,token,ses-sion、文件上傳鲫懒。
5.?Advanced:驗證碼嫩实、分頁器、類視圖窥岩、中間件甲献、日志、緩存颂翼、信號晃洒、Cerlery朦乏、用戶權(quán)限,用戶角色吃引。
6.?RESTful:REST概念刽锤、HelloREST并思、數(shù)據(jù)序列化、請求與響應(yīng)弄砍、視圖,轉(zhuǎn)換器议泵、關(guān)系桃熄,超鏈接瞳收、認證和權(quán)限。
知識點細化:
1.?HelloFlask:Flask介紹谐宙、Flask請求界弧、Flask MTV拆分垢箕、Flask-Script。
2.?Views:Flask Blueprint忠荞、路由規(guī)則帅掘、錯誤處理修档、請求與響應(yīng)。
3.Templates&Models:靜態(tài)資源头遭、模板加載、模板語法袜香、ORM蜈首、Flask-SQLAlchemy欠母。
4.?Modesl:Flask-Migrate赏淌、CRUD六水、模型關(guān)系辣卒、反向引用荣茫。
5.Extension:Flask-Cache、Flask-Login港准、Flask- RESTful咧欣、Flask- Bootstrap、Flask-Upload疗杉。
6.?Program:需求分析蚕礼、項目設(shè)計奠蹬、基礎(chǔ)框架搭建、建模冀痕。
四言蛇、Python爬蟲階段
技能樹:掌握分布式多線程大型爬蟲技術(shù)宵距,能開發(fā)企業(yè)級爬蟲程序满哪。
1.?多線程原理:同步與異步劝篷、串聯(lián)與并發(fā)娇妓、線程活鹰、開辟一個線程华望、線程安全與線程鎖赖舟、多線程隊列。
2.?協(xié)程:線程的局限子漩、協(xié)程的定義與原理幢泼、協(xié)程的實現(xiàn)讲衫。
3.爬蟲的概念及相關(guān)工具:爬蟲的概念及作用涉兽、HTTP協(xié)議原理枷畏、工具的安裝拥诡、使用。
4.?Python http libs:urllib的使用冗懦、示例requests庫的使用批狐、bs4庫的使用嚣艇、xpath語法华弓。
5.?爬蟲實戰(zhàn):使用requests編寫-個簡單爬蟲寂屏、改造requests爬蟲為多線程版迁霎、利用redis改造多線程版爬蟲至分布式考廉。
6.?scrapy框架:scrapy安裝、創(chuàng)建項目既绕、創(chuàng)建spider文件凄贩,編寫parse方法疲扎、scrapy子命令椒丧、運行scrapy爬蟲程序瓜挽、命令行傳遞參數(shù)久橙、進一步解析二級頁面淆衷、parse方法之前傳遞參數(shù)祝拯、導(dǎo)出json佳头、Csv格式的數(shù)據(jù)、scrapy爬蟲的狀態(tài)保存、item的定義敷钾、item的使用阻荒、pipeline的使用侨赡、使用pipeline將items存儲至MySQ辆毡、Lscrapy整體架構(gòu)舶掖、downloadermiddleware眨攘、使用downloadermiddleware實現(xiàn)IP代理池鲫售、spidermiddleware情竹、scrapy插件秦效、scrapy-redis。
7.?量化交易:自動化交易理論苔货、Python量化交易框架夜惭。
五滥嘴、Python機器學(xué)習(xí)階段
技能樹:掌握Python數(shù)據(jù)挖掘分析,入門人工智能走触。
知識點細化:
1.?jupyter入門:jupyter軟件安裝疤苹、jupyter入門惫皱、numpy學(xué)習(xí)。
2.pandas:pandas入門媳谁、pandas-Series晴音、pandas數(shù)據(jù)丟失、pandas索引系羞、pandas數(shù)據(jù)處理觉啊、基于Pandas的人臉識別技術(shù)。
3.?scipy:scipy學(xué)習(xí)
4.?matpoltlib:數(shù)據(jù)可視化的概念辑莫、可視化圖表的繪制、動畫及交互渲染、數(shù)據(jù)的合并與分組屉更。
5.?KNN:臨近算法、預(yù)處理、KNN相關(guān)函數(shù)。
6.?線性回歸與邏輯斯蒂回歸:線性回歸蛛芥、邏輯斯蒂回歸胸哥。
7.?決策樹與貝葉斯:貝葉斯學(xué)習(xí)庐船、決策樹學(xué)習(xí)。
8.?SVM與K均值聚類:SVC學(xué)習(xí)
9. Kmeans:?Kmeans學(xué)習(xí)
10.?機器學(xué)習(xí)框架TensorFlow:機器學(xué)習(xí)嘲更、權(quán)重分配與優(yōu)選方案筐钟、深度學(xué)習(xí)、自動化神經(jīng)網(wǎng)絡(luò)赋朦、AI網(wǎng)絡(luò)的描述篓冲。
11.自然語言處理與社交網(wǎng)絡(luò)處理:文本數(shù)據(jù)處理李破、自然語言處理及NLTK、主題模型壹将、LDA嗤攻、圖論簡介、網(wǎng)絡(luò)的操作及數(shù)據(jù)可視化诽俯。
?