‎Python学习路线‎尚新途‎① Python‎Python入门‎Python入门‎Python介绍_特性_版本问题_应用范围 Python下载_安装_配置_第一行Python程序 开发环境介绍_交互模式的使用_IDLE介绍和使用‎IDLE开发环境的使用_建立Python源文件‎Python程序格式_缩进_行注释_段注释 简单错误如何处理_守破离学习法_程序员修炼手册 海龟绘图_坐标系问题_画笔各种方法‎海龟绘图_画出奥运五环图‎编程基本概念‎程序的构成 对象的基本组成和内存示意图 引用的本质_栈内存和堆内存_内存示意图 标识符_帮助系统的简单使用_命名规则‎变量的声明_初始化_删除变量_垃圾回收机制 链式赋值_系列解包赋值_常量 内置数据类型_基本算术运算符‎整数_不同进制_其他类型转换成整数‎浮点数_自动转换_强制转换_增强赋值运算符 时间表示_unix时间点_毫秒和微秒_time模块 多点坐标_绘出折线图_计算两点距离‎布尔值_比较运算符_逻辑运算符_短路问题 同一运算符_整数缓存问题 字符串_unicode字符集_三种创建字符串方式_len()‎字符串_转义字符_字符串拼接_字符串复制_input()获得键盘输入 字符串_str()_使用[]提取字符_replace()替换生成新字符串_内存分析‎字符串_切片slice操作_逆序 字符串_split()分割_join()合并_join()效率测试 字符串_常用查找方法_去除首位信息_大小写转换_排版‎字符串_format格式化_数字格式化操作 可变字符串_io.StringIO 运算符总结_位操作符_优先级问题‎序列‎列表_特点_内存分析 创建列表的4种方式_推导式创建列表 列表_元素的5种添加方式_效率问题‎列表_元素删除的三种方式_删除本质是数组元素拷贝‎列表_元素的访问_元素出现次数统计_成员资格判断 列表_切片slice操作 列表_排序_revered逆序_max_min_su‎列表_二维列表_表格数据的存储和读取‎元组_特点_创建的两种方式_tuple()要点 元组_元素访问_计数方法_切片操作_成员资格判断_zip() 元组_生成器推导式创建元组_总结‎字典_特点_4种创建方式_普通_dict_zip_formkeys 字典_元素的访问_键的访问_值的访问_键值对的访问 字典_元素的添加_修改_删除‎字典_序列解包用于列表元组字典 字典_复杂表格数据存储_列表和字典综合嵌套 字典_核心底层原理_内存分析_存储键值对过程‎字典_核心底层原理_内存分析_查找值对象过程 集合_特点_创建和删除_交集并集差集运算‎控制语句‎Pycharm开发环境的下载安装配置_项目创建和运行 单分支选择结构_条件表达式详解 双分支选择结构_三元运算符的使用详解‎多分支选择结构 选择结构的嵌套 while循环结构_死循环处理 for循环结构_遍历各种可迭代对象_range对象‎嵌套循环 嵌套循环练习_九九乘法表_打印表格数据 break语句 continue语句 else语句 循环代码优化技巧(极其重要)‎zip()并行迭代 推导式创建序列_列表推导式_字典推导式_集合推导式_生成器推导式 综合练习_绘制不同颜色的多个同心圆_绘制棋盘‎函数‎函数的基本概念_内存分析_函数的分类_定义和调用 形参和实参_文档字符串_函数注释 返回值详解 函数也是对象_内存分析‎变量的作用域_全局变量_局部变量_栈帧内存分析讲解 局部变量和全局变量_效率测试 参数的传递_传递可变对象_内存分析‎参数的传递_传递不可变对象_内存分析‎浅拷贝和深拷贝_内存分析 参数的传递_不可变对象含可变子对象_内存分析 参数的类型_位置参数_默认值参数_命名参数‎参数的类型_可变参数_强制命名参数‎lambda表达式和匿名函数 eval()函数用法 递归函数_函数调用内存分析_栈帧的创建 递归函数_阶乘计算案例‎嵌套函数_内部函数_数据隐藏 nonlocal_global LEGB规则‎面向对象编程‎面向对象和面向过程的区别_执行者思维_设计者思维 对象的进化故事 类的定义_类和对象的关系 构造函数__init__ 实例属性_内存分析‎实例方法_内存分析方法调用过程_dir()_isinstance 类对象 类属性_内存分析创建类和对象的底层 类方法_静态方法_内存分析图示‎ __del__()析构方法和垃圾回收机制 __call__()方法和可调用对象 方法没有重载_方法的动态性 私有属性 私有方法‎@property装饰器_get和set方法‎面向对象的三大特征说明(封装、继承、多态) 继承 方法的重写 object根类_dir() 重写__str__()方法 多重继承 mro()‎super()获得父类的定义‎多态 特殊方法和运算符重载 特殊属性 对象的浅拷贝和深拷贝_内存分析 组合 设计模式_工厂模式实现 设计模式_单例模式实现‎Python开发环境搭建‎开发环境PyCharm(非虚拟环境) 开发环境VSCode(非虚拟环境) Python虚拟环境的基本使用 开发环境PyCharm(虚拟环境)‎开发环境VSCode(虚拟环境) 虚拟环境工具的使用‎Python 深入与提高‎异常处理‎异常的本质_调试核心理念 try_except基本结构 try_多个except结构 else结构 finally结构 常见异常汇总和说明‎with上下文管理 traceback模块的使用_异常写入日志文件 自定义异常类_raise抛出异常 pycharm的调试模式‎文件处理‎file文件操作_操作系统底层关系_写入文件 编码知识_中文乱码问题解决 关闭流要点1_try异常管理 关闭流要点2_with上下文管理_现场还原‎文本文件的读取 enumerate()函数和推导式生成列表_操作每行增加行号 二进制文件的读写_图片文件拷贝‎文件对象常用方法和属性总结_seek()任意位置操作 使用pickle实现序列化和反序列化_神经元记忆移植‎CSV文件的读取_写入 os模块_调用操作系统可执行文件_控制台乱码问题 os模块_获得文件信息_创建文件夹_递归创建‎os.path模块_常用方法‎os模块_使用walk遍历 shutil模块_文件和目录拷贝 shutil和zipfile模块_压缩和解压缩 递归算法原理_阶乘计算‎递归算法原理_目录树结构展示‎模块‎模块化编程理念_什么是模块_哲学思想 模块化编程的流程_设计和实现分离 模块导入_import和from_import语句详解和区别‎import加载底层原理_importlib模块‎包的概念和创建包和导入包 包的本质和init文件_批量导入_包内引用 sys.path和模块搜索路径详解 模块的本地发布_模块的安装‎PyPI官网_远程上传和管理模块_PIP方式安装模块‎GUI编程‎GUI编程和tkinter介绍_第一个GUI程序 PEP8编码规范_窗口大小和位置 GUI编程整体描述_常用组件汇总 GUI程序的经典面向对象写法‎Label组件_tkinter中图像正确显示全局变量写法‎options选项详解_底层源码分析和阅读_可变参数和运算符重载复习 Button_anchor位置控制 Entry_StringVar_登录界面设计和功能实现‎Text多行文本框详解_复杂tag标记 Radiobutton_Checkbutton详解 Canvas画布组件 Grid布局管理器详解 计算器软件界面的设计‎Pack布局管理器_钢琴软件界面设计 Place管理器_绝对位置和相对位置 扑克游戏界面设计_增加事件操作‎事件机制和消息循环原理_鼠标事件_键盘事件_event对象‎lambda表达式_事件传参应用 三种事件绑定方式总结 optionmenu选项菜单_scale滑块 颜色框_文件选择框_读取文件内容‎简单对话框_通用消息框_ttk子模块问题 主菜单_上下文菜单 记事本项目 画图项目‎Python 网络与并发编程‎并发编程‎并发编程-进程与线程简介 并发编程-多线程的实现 并发编程-join的使用与主子线程 并发编程-守护线程 并发编程-锁的使用‎并发编程-锁的理解‎并发编程-死锁 并发编程-信号量 并发编程-事件 并发编程-队列 并发编程-生产消费者模式 并发编程_进程的实现‎并发编程_进程的通信‎并发编程_Manger的使用 并发编程_进程池的使用 并发编程_协程介绍 并发编程_实现任务切换(yield方式) 并发编程_greenlet的使用‎并发编程_gevent的使用 并发编程_asyncio的使用 并发编程_asyncio的await(python3.7以上) 并发编程的总结‎网络通信‎IP 子网掩码、端口号 协议 socket 传输层协议 udp发送数据 接收数据 echo服务 简述tftp 构造下载请求 编写下载器 广播‎网络通信过程 路由器 tcp通信模型 三次握手四次挥手 tcp服务器 tcp客户端 并发服务器‎Python 核心特性‎生成器和装饰器‎生成器与列表的对照使用 生成器的其他生成方式以及元素的遍历方式 迭代器的使用 闭包的定义和使用 使用闭包完成求两个点之间的距离‎使用闭包添加日志功能的引入 使用闭包实现不修改源码添加功能 装饰器的基本使用 多个装饰器的使用 指定参数个数的装饰器‎通用装饰器 Python动态添加属性(对象属性,类属性) Python动态添加方法(对象方法,静态方法,类方法)‎__slots__的对动态添加属性及方法的限制作用‎函数式编程‎range的使用 functools之偏函数partial的使用 functools之wraps的使用 内建函数之map的使用 functools之reduce函数的使用‎内建函数之filter的使用 内建函数之sorted()的使用‎正则表达式‎正则表达式概述 正则表达式之re模块的基本操作 正则表达式之匹配字符 正则表达式之表示数量 正则表达式之原始字符串‎正则表达式之表示边界 正则表达式之匹配分组 正则表达式之高级用法 正则表达式之贪婪与非贪婪贪‎内存管理‎元类-使用type动态创建类 类装饰器的使用 大小整数池以及intern机制 内存管理之引用计数 内存管理之隔代回收机制‎② 数据库编程基础‎数据库环境搭建‎数据库相关概念 MySQL数据库的优点‎MySQL的下载 MySQL的安装 MySQL常用操作‎Navicat下载安装激活‎MySQL 的使用‎创建_查看数据库 删除_修改数据库 创建表_查看表 修改表名称_字段名_类型 修改表_添加字段 删除字段_删除表‎索引的简介 自动创建索引 创建表时候手动创建普通索引和唯一索引 创建时创建主键全文复合索引 使用create index创建索引‎主键约束 删除主键约束 添加唯一约束 删除唯一约束 非空约束 默认值约束 自动增长约束 创建表时候添加外键约束 删除外键约束‎插入数据1 插入数据2 插入数据3 修改数据 删除数据 使用图形界面操作数据 ‎数值类型_整数类型 数值类型_浮点定点类型 BIT类型 日期时间类型 字符串类型 枚举_set_JSON数据类型‎查询所有字段_指定字段 查询中使用算术运算符_起别名 查询结果排序 条件查询1 条件查询2 模糊查询 多条件查询and_or的使用 limit的使用_分页查询‎字符串函数 数值函数 日期时间函数 流程函数 多行函数‎分组查询 什么是多表查询 交叉连接查询 自然连接查询 等值连接查询 SQL92完成连接查询 自连接 非等值连接查询 左连接_右连接 多表连接查询练习‎什么是子查询 单行子查询 多行子查询 表子查询 子查询练习 多表查询_子查询综合练习‎什么是视图 视图创建 查看视图 修改视图 删除视图 更新视图 更新视图的限制条件‎索引简介 索引分类 自动创建索引 创建表时候创建索引 为已存在的表创建索引1 为已存在的表创建索引2 删除索引 使用图形化界面操作索引‎用户登录退出MySQL数据库 创建_删除普通用户 修改密码 找回密码 权限管理‎事务的概念 事务控制语句 事务的隔离级别 第一范式 第二范式 第三范式‎python操作mysql‎vscode配置python环境 python连接mysql 插入_删除_修改数据 查询漏洞 添加异常处理 dbUtil工具类‎项目-音乐播放器‎项目_登录 加载主窗口 导入音乐 刷新音乐列表 删除音乐 播放音乐‎③ Linux 环境编程基础‎Linux‎Linux_课程介绍 Linux_Linux简介 Linux_VMWare安装及使用 Linux_安装Linux Linux_目录介绍 Linux_Linux中的路径‎Linux_常用命令_pwd命令‎Linux_常用命令_cd命令 Linux_常用命令_ls与ll命令 Linux_常用命令_clear、touch、cat命令 Linux_常用命令more、head、tail命令‎Linux_常用命令_mkdir命令 Linux_常用命令_cp命令 Linux_常用命令_rm、mv命令 Linux_常用命令_vi、vim ‎Linux_常用命令_reboot、halt‎Linux_常用配置_设置时区 Linux_常用配置_启动网络 Linux_常用配置_修改网段 Linux_常用配置_设置网络类型‎Linux_常用配置_快照与克隆‎Linux_Xshell的安装与使用 Linux_上传与下载_Xftp的使用 Linux_上传与下载_lrzsz工具 Linux_文件的压缩与解压缩处理‎Linux_安装JDK Linux_安装Tomcat Linux_安装MySQL‎④ 网页编程基础