作為小白,在學習Python的時候,必然會走一定的彎路,有人在彎路上走丟了,有人走出了彎路。在此分享我的Python學習之路:
基礎部分:
(1)初始Python:
1. Python 簡介和發(fā)展歷史2. Python 優(yōu)缺點3. Python 能做什么4. Python 環(huán)境搭建,命令行打印“Python 課程開始了!”5. PyCharm 安裝及使用6. 輸入、輸出7. 注釋(2)數(shù)據(jù)類型
1. 變量是什么、變量命名方式2. 標識符有哪些3. 數(shù)據(jù)類型概述,Python有中哪些數(shù)據(jù)類型4. 數(shù)值類型5. 算數(shù)運算符、比較運算符、邏輯運算符、運算符優(yōu)先級6. 數(shù)據(jù)類型轉(zhuǎn)換(3)邏輯控制
1. 布爾類型2. if、if...else 、if...elif 、嵌套結構3. 猜拳游戲4. 字符串與切片5. 字符串常用函數(shù)6. while循環(huán)(4)復雜類型和循環(huán)結構和算法
1. for和for ... else2. break 、continue3. 元組3. 列表概念及操作4. 集合5. 算法:冒泡排序6. 字典(5)函數(shù)應用和遞歸算法
1. 文件操作概念2. 文件打開和關閉3. 文件讀寫4. 文件定位讀寫5. 文件重命名、文件刪除6. 文件夾操作7. 遞歸打印目錄8. 在指定目標中文件中追加內(nèi)容(包含目錄、文件是否存在判斷)(6)文件操作
1. 模塊簡介2. 使用標準庫中的模塊3. 自定義模塊4. _name_屬性5. 包6. 安裝及使用第三方模塊7. 異常概念8. 捕獲異常9. 異常的傳遞10. 自定義異常(7)面向?qū)ο?/p>1. 面向?qū)ο蟾拍罱榻B2. 類和對象概念3. 類的定義和實例化對象4. 對象初始化狀態(tài)5. 魔方方法7. self8. 析構函數(shù)9. 訪問權限控制10. 面向?qū)ο缶毩曋睾现菩∮螒?p>(8)繼承和多態(tài)
1. 單繼承2. 多繼承3. 重寫父類方法和調(diào)用父類方法4. 類屬性和實例屬性5. 靜態(tài)方法和類方法6. 動態(tài)給實例添加屬性與方法并使用__slots(9)設計模式
1. 設計模式簡介2. 單例設計模式3. new()3. 簡單工廠4. 抽象工廠進階部分:
(1)函數(shù)高級特性
1. 函數(shù)變量2. 生成器2. 閉包3. 裝飾器6. 匿名函數(shù)8. 偏函數(shù)9. 對象比較10. 深拷貝和淺拷貝11. 私有屬性12. 屬性property(2)進程
1. 進程簡介2. 單任務,啟動進程實現(xiàn)多任務3. 封裝進程為進程池4. 進程間通信(Queue)5. fork創(chuàng)建進程6. multiprocessing創(chuàng)建進程(3)線程和協(xié)程
1. 線程簡介2. 啟動一個線程3. 線程間共享數(shù)據(jù)4. 生產(chǎn)者與消費者5. 協(xié)程簡介6. 協(xié)程原理7. threading模塊創(chuàng)建線程8. 線程間通信9. threadLocal變量WEB前端技術
(1)HTML
1. HTML簡介2. HTML總體結構3. HTML 5 和HTML 4的對比4. HTML 基本語法5. 常用標簽6. 練習案例:簡單登錄。客戶端向服務器端傳遞數(shù)據(jù)(2)
1. CSS 3.0 簡介,盒子模型2. 引入CSS的三種方式3. 引入方式優(yōu)先級4. CSS 選擇器5. CSS 各種屬性6. CSS 偽選擇器7. 練習案例:完善頁面效果。注冊信息發(fā)送給客戶端(3)
1. JavaScript簡介2. JavaScript執(zhí)行原理3. JavaScript 組成(三部分)4. ECMAScript核心語法:基本語法、數(shù)據(jù)類型、判斷語句、循環(huán)、類型轉(zhuǎn)換、數(shù)值類型判斷5. 內(nèi)置對象6. 字符串常用函數(shù)(4)
1. DOM對象:獲取元素的幾種方式2. BOM對象:彈出框、定時器、計時器(5)
1. jQuery 簡介2. jQuery和JavaScript的聯(lián)系3. jQuery命名規(guī)則4. jQuery對象和DOM對象轉(zhuǎn)換5. 全部選擇器6. 動畫(6)
1. jQuery中DOM操作2. 事件3. 循環(huán)遍歷4. 正則和表單驗證(大量練習)Linux基礎
(1)Linux系統(tǒng)
1. Linux 發(fā)展歷史介紹2. 虛擬機安裝(快速演示)3. Cent OS 6.X 安裝(快速演示)4. 虛擬機快照和管理5. 常用命令6. 虛擬網(wǎng)卡概述,靜態(tài)IP設置7. 配置Python環(huán)境8. 安裝MySQL(解壓版或yum)(2)Redis單機版操作
1. NoSQL是什么,出現(xiàn)目的2. Redis 簡介3. Linux中JDK 安裝4. Linux中Redis 單機版安裝配置5. Redis 數(shù)據(jù)類型6. Redis 不同數(shù)據(jù)的命令操作演示7. Redis 的windows客戶端工具8. Python 連接Redis(3)Redis集群操作
1. 分布式概念2. 集群概念3. 什么場景適用集群4. 集群搭建5. Python連接Redis集群6. 案例:緩存首頁菜單內(nèi)容
數(shù)據(jù)庫基礎及性能優(yōu)化
(1)MySQL與Python交互
1. MySQL 初識2. MySQL 安裝(不占用課時)3. MySQL 命令行工具簡單實用4. MySQL 客戶端工具Navicat使用5. MySQL 命令執(zhí)行原理6. 創(chuàng)建、刪除數(shù)據(jù)庫命令(帶編碼字符集)7. 列類型8. 創(chuàng)建、刪除表命令9. 約束:主鍵約束、唯一約束、非空約束10. 單條數(shù)據(jù)CRUD11. 練習案例:Python連接MySQL實現(xiàn)單表CRUD(2)MySQL查詢
1. 分組查詢2. 聚合函數(shù)3. 內(nèi)置函數(shù)4. 分頁查詢5. 排序6. 視圖7. 索引(3)MySQL 多表查詢
1. 主外鍵約束2. 關聯(lián)查詢(內(nèi)連接、外鏈接)3. 自關聯(lián)4. 子查詢5. 事務(4)MySQL高級應用
1. MySQL慢查日志的開啟方式和存儲方式2. MySQL慢查日志分析工具之mysqldumpslow3. MySQL慢查日志分析工具之pt=query-digest4. 如何通過慢查日志發(fā)現(xiàn)有問題的SQL5. 通過explain查詢和分析SQL的執(zhí)行計劃6. SQL優(yōu)化:Count()和Max()的優(yōu)化、子查詢的優(yōu)化、group by 的優(yōu)化、Limit查詢的優(yōu)化、索引優(yōu)化
Python Web框架Django
(1)Django入門
1. Django簡介2. Django環(huán)境搭建3. Django-Hello World4. 顯示登錄頁面5. Get方式登錄功能6. Post方式登錄功能7. 注冊功能8. 顯示注冊頁面9. 處理注冊功能(2)Django數(shù)據(jù)庫連接與分頁
1. admin后臺管理類操作數(shù)據(jù)庫2. 查詢所有信息3. 登錄功能(連接MySQL)4. 影片展示5. 影片展示(原生分頁)6. Django分頁7. 頁碼翻頁功能(3)ORM
1. 單表查詢CRUD2. 創(chuàng)建數(shù)據(jù)庫表3. 一對一的關系4. 一對多的關系5. 多對多的關系6. 學生注冊功能(4)多表操作
1. 查詢班級信息_學生詳情2. 自定義Manager1(查詢)3. 邏輯刪除_單個對象刪除_多個對象刪除4. 自定義Manager3(create)5. 分析Manager.create執(zhí)行過程6. 多表插入(重寫save)(5)高級查詢
1. 聚合函數(shù)_分組聚合查詢2. 原生查詢3. Q查詢_F查詢4. Django事務_查詢兩個特性5. 配置URL6. 請求和響應對象(6)上傳與下載
1. 文件上傳2. 文件下載3. 重定向_錯誤訂制頁面4. Cookie語法5. 三天免登錄(7)Session
1. Session語法2. Session應用(顯示個人信息)3. jsonpickle序列化隱藏字段4. 讀取靜態(tài)文件5. django引入靜態(tài)文件(8)模版使用
1. 模板渲染底層原理2. 模板標簽語法3. 過濾器4. 自定義過濾器5. 全局上下文(9)CSRF
1. 模板繼承_CSRF原理2. 畫圖分析CSRF原理3. 自定義中間件4. 分析CSRF源碼5. 修改Admin后臺頁面布局(10)Ajax
1. 表單類2. 表單校驗(表單類)3. 表單校驗(JS原生校驗)4. AJAX語法5. 用戶名唯一校驗(ajax)最后學習, pythonWeb另外兩大框架: Flask、Tornado。