导图社区 快速学习Python 30天计划
这是一个关于快速学习Python 30天计划的思维导图,该计划旨在通过30天的学习周期,帮助学习者系统而高效地掌握Python编程语言及其应用场景。
编辑于2025-04-06 07:17:39# **快速学习Python 30天计划**
- 第1 - 5天:Python基础入门
- 第1天:环境搭建与基础语法
- 安装Python解释器与IDE
适合初学者的thonny,https://thonny.org/
- 学习基本概念
- 编写“Hello, World!”程序
- 第2天:运算符与表达式
- 掌握各类运算符
# **Python 各类运算符**
- 算术运算符
- 加法(+)
- 示例:`result = 3 + 5`
- 减法(-)
- 示例:`result = 7 - 2`
- 乘法(*)
- 示例:`result = 4 * 6`
- 除法(/)
第一个操作数除以第二个操作数,结果为浮点数。 示例:result = 10 / 2,结果为 5.0。
- 示例:`result = 10 / 2`
- 取整除(//)
执行除法运算后,返回商的整数部分。 示例:result = 10 // 3,结果为 3。
- 示例:`result = 10 // 3`
- 取模(%)
返回除法运算后的余数。 示例:result = 10 % 3,结果为 1。
- 示例:`result = 10 % 3`
- 幂运算(**)
计算第一个操作数的第二个操作数次幂。 示例:result = 2 ** 3,结果为 8。
- 示例:`result = 2 ** 3`
- 比较运算符
- 等于(==)
判断两个操作数是否相等。 示例:is_equal = 5 == 5,结果为 True。
- 示例:`is_equal = 5 == 5`
- 不等于(!=)
判断两个操作数是否不相等。 示例:is_not_equal = 3 != 4,结果为 True。
- 示例:`is_not_equal = 3 != 4`
- 大于(>)
判断第一个操作数是否大于第二个操作数。 示例:is_greater = 7 > 3,结果为 True。
- 示例:`is_greater = 7 > 3`
- 小于(<)
判断第一个操作数是否小于第二个操作数。 示例:is_less = 2 < 6,结果为 True。
- 示例:`is_less = 2 < 6`
- 大于等于(>=)
判断第一个操作数是否大于或等于第二个操作数。 示例:is_greater_or_equal = 5 >= 5,结果为 True。
- 示例:`is_greater_or_equal = 5 >= 5`
- 小于等于(<=)
判断第一个操作数是否小于或等于第二个操作数。 示例:is_less_or_equal = 4 <= 7,结果为 True。
- 示例:`is_less_or_equal = 4 <= 7`
- 赋值运算符
- 简单赋值(=)
将右侧的值赋给左侧的变量。
- 示例:`x = 10`
- 加法赋值(+=)
将变量的值与右侧的值相加,再将结果赋给该变量。 示例: x = 5 x += 3 # 相当于 x = x + 3,此时 x 的值为 8
- 示例:`x = 5; x += 3`
- 减法赋值(-=)
将变量的值减去右侧的值,再将结果赋给该变量。 示例: x = 8 x -= 2 # 相当于 x = x - 2,此时 x 的值为 6
- 示例:`x = 8; x -= 2`
- 乘法赋值(*=)
乘法赋值(*=):将变量的值乘以右侧的值,再将结果赋给该变量。 示例: x = 4 x *= 3 # 相当于 x = x * 3,此时 x 的值为 12
- 示例:`x = 4; x *= 3`
- 除法赋值(/=)
除法赋值(/=):将变量的值除以右侧的值,再将结果赋给该变量。 示例: x = 12 x /= 3 # 相当于 x = x / 3,此时 x 的值为 4.0
- 示例:`x = 12; x /= 3`
- 取整除赋值(//=)
将变量的值取整除右侧的值,再将结果赋给该变量。 示例: x = 10 x //= 3 # 相当于 x = x // 3,此时 x 的值为 3
- 示例:`x = 10; x //= 3`
- 取模赋值(%=)
将变量的值取模右侧的值,再将结果赋给该变量。 示例: x = 10 x %= 3 # 相当于 x = x % 3,此时 x 的值为 1
- 示例:`x = 10; x %= 3`
- 幂赋值(**=)
将变量的值进行幂运算(以右侧的值为指数),再将结果赋给该变量。 示例: x = 2 x **= 3 # 相当于 x = x ** 3,此时 x 的值为 8
- 示例:`x = 2; x **= 3`
- 逻辑运算符
- 逻辑与(and)
只有当所有条件都为 True 时,结果才为 True;只要有一个条件为 False,结果就为 False。 示例:result = (3 > 1) and (5 < 7),因为两个条件都为 True,所以结果为 True。
- 示例:`result = (3 > 1) and (5 < 7)`
- 逻辑或(or)
只要有一个条件为 True,结果就为 True;只有当所有条件都为 False 时,结果才为 False。 示例:result = (2 > 5) or (4 < 6),因为 4 < 6 为 True,所以结果为 True。
- 示例:`result = (2 > 5) or (4 < 6)`
- 逻辑非(not)
对条件的布尔值取反。 示例:result = not (3 > 5),因为 3 > 5 为 False,取反后结果为 True。
- 示例:`result = not (3 > 5)`
- 位运算符
- 按位与(&)
对两个操作数的对应二进制位进行与运算(只有当两个对应位都为 1 时,结果位才为 1)。 示例:result = 5 & 3,5 的二进制是 101,3 的二进制是 011,按位与结果为 001,即 1。
- 示例:`result = 5 & 3`
- 按位或(|)
对两个操作数的对应二进制位进行或运算(只要有一个对应位为 1,结果位就为 1)。 示例:result = 5 | 3,5 的二进制是 101,3 的二进制是 011,按位或结果为 111,即 7。
- 示例:`result = 5 | 3`
- 按位异或(^)
对两个操作数的对应二进制位进行异或运算(只有当两个对应位不同时,结果位才为 1)。 示例:result = 5 ^ 3,5 的二进制是 101,3 的二进制是 011,按位异或结果为 110,即 6。
- 示例:`result = 5 ^ 3`
- 按位取反(~)
对操作数的二进制位进行取反操作(0 变 1,1 变 0)。 示例:result = ~5,在 Python 中,5 的二进制是 0101,整数是有符号的,结果为 -6。
- 示例:`result = ~5`
原码、反码和补码的概念 原码:最高位为符号位(0 表示正数,1 表示负数),其余位表示数值的绝对值。例如,+5 的原码是 00000101,-5 的原码是 10000101。 反码:正数的反码与原码相同;负数的反码是在原码的基础上,符号位不变,其余位取反。例如,+5 的反码是 00000101,-5 的反码是 11111010。 补码:正数的补码与原码相同;负数的补码是在反码的基础上加 1。例如,+5 的补码是 00000101,-5 的补码是 11111011。在计算机中,整数通常以补码形式存储和运算。 按位取反的运算步骤 下面以 ~5 为例,详细说明按位取反的运算过程: 确定原数的二进制补码表示 5 是正数,正数的原码、反码和补码相同。假设使用 8 位二进制表示,5 的原码是 00000101,所以 5 的补码也是 00000101。 进行按位取反操作 对 5 的补码 00000101 进行逐位取反,得到 11111010。 判断取反结果的正负并转换为十进制 由于取反结果的最高位是 1,所以它表示一个负数。在计算机中,负数是以补码形式存储的,要得到其十进制值,需要对补码进行还原。 首先对补码 11111010 减 1 得到反码 11111001。 然后对反码除符号位外的其余位取反得到原码 10000110。 原码 10000110 表示的十进制数是 -6,所以 ~5 的结果是 -6。
- 左移位(<<)
将操作数的二进制位向左移动指定的位数,右侧空出的位用 0 填充,相当于乘以 2 的指定次幂。 示例:result = 5 << 2,5 的二进制是 101,左移 2 位后为 10100,即 20。
- 示例:`result = 5 << 2`
- 右移位(>>)
将操作数的二进制位向右移动指定的位数,左侧空出的位根据符号位填充,相当于除以 2 的指定次幂(取整)。 示例:result = 5 >> 1,5的二进制为101,右移一位结果为 10,即 2。
- 示例:`result = 5 >> 1`
- 成员运算符
- in
如果值在序列中,则返回 True;否则返回 False。 示例:is_member = 'a' in 'apple',结果为 True。
- 示例:`is_member = 'a' in 'apple'`
- not in
如果值不在序列中,则返回 True;否则返回 False。 示例:is_not_member = 'x' not in 'apple',结果为 True。
- 示例:`is_not_member = 'x' not in 'apple'`
- 身份运算符
- is
如果两个对象的内存地址相同,则返回 True;否则返回 False。 示例: a = [1, 2] b = a result = a is b # a 和 b 指向同一个列表对象,结果为 True
- 示例:`a = [1, 2]; b = a; result = a is b`
- is not
如果两个对象的内存地址不同,则返回 True;否则返回 False。 示例: a = [1, 2] b = [1, 2] result = a is not b # a 和 b 是两个不同的列表对象,结果为 True
- 示例:`a = [1, 2]; b = [1, 2]; result = a is not b`
- 学习表达式
- 练习数值计算与条件判断
- 第3天:控制结构(一)
- 学习条件语句
- 编写条件判断程序
- 练习嵌套条件语句
- 第4天:控制结构(二)
- 学习循环语句
- 了解循环执行流程
- 练习循环算法
- 第5天:函数基础
- 学习函数定义与调用
- 掌握参数与返回值
- 练习编写函数
- 第6 - 10天:数据结构与文件操作
- 第6天:列表和元组
- 学习基本概念与操作
- 掌握列表增删改查
- 了解元组特性
- 第7天:字典和集合
- 学习基本概念与操作
- 掌握字典元素操作
- 了解集合特性与运算
- 第8天:字符串处理
- 学习基本操作
- 掌握常用方法
- 练习正则表达式
- 第9天:文件操作
- 学习文件打开、读写
- 掌握文件操作模式与方法
- 练习处理文本文件
- 第10天:异常处理
- 学习异常处理概念与语法
- 掌握try - except - finally语句
Python 内置异常类型
算术异常
ZeroDivisionError
做除法或取模运算时除数为零触发
OverflowError
算术运算结果超出 Python 可表示范围
FloatingPointError
浮点数运算出现异常情况
容器异常
IndexError
访问序列(列表、元组等)中不存在的索引
KeyError
在字典里使用不存在的键进行访问
AttributeError
尝试访问对象不存在的属性或方法
ValueError
传入函数的参数类型对但值不合法
类型异常
TypeError
操作或函数应用于不适当类型的对象
SyntaxError
代码不符合 Python 语法规则
IndentationError
代码缩进不符合 Python 规则
文件操作异常
FileNotFoundError
尝试打开不存在的文件
PermissionError
没有权限进行文件操作(如读写)
IsADirectoryError
尝试以文件方式操作目录
逻辑异常
NameError
使用未定义的变量或函数名
UnboundLocalError
在函数中使用未赋值的局部变量
AssertionError
assert
语句断言失败
系统异常
SystemExit
调用
sys.exit()
函数引发,用于退出程序
KeyboardInterrupt
用户按下 Ctrl + C 中断程序执行
GeneratorExit
生成器对象的
close()
方法被调用时触发
- 练习编写异常处理程序
- 第11 - 15天:面向对象编程与模块
- 第11天:面向对象编程基础
- 学习基本概念
- 掌握类与对象创建
- 练习编写简单类
- 第12天:类的继承和多态
- 学习继承机制
- 掌握方法重写与多态
- 练习编写继承类
- 第13天:模块和包
- 学习概念与组织方式
- 掌握导入与使用方法
- 练习创建模块和包
- 第14天:标准库的使用
- 学习常用模块
- 掌握模块功能应用
- 练习编写使用标准库程序
- 第15天:综合练习
- 完成小型综合项目
- 运用多方面知识
- 提高综合编程能力
- 第16 - 20天:数据库与Web开发基础
- 第16天:数据库基础(SQLite)
- 学习数据库概念
- 安装SQLite并学习操作
- 掌握基本数据库操作
- 第17天:数据库操作进阶
- 学习复杂数据库操作
- 掌握事务处理
- 练习编写数据库程序
- 第18天:Web开发基础(Flask)
- 学习Web开发概念
- 安装Flask并创建应用
- 掌握基本概念与方法
- 第19天:Web应用开发实践
- 深入学习Flask
- 处理表单与用户功能
- 结合数据库开发
- 第20天:Web应用部署
- 学习部署方法
- 掌握部署流程与注意事项
- 完成应用部署
- 第21 - 25天:数据处理与可视化
- 第21天:NumPy基础
- 学习基本概念与使用
- 掌握数组操作与运算
- 练习处理数值数据
- 第22天:Pandas基础
- 学习基本概念与结构
- 掌握数据处理操作
- 练习处理结构化数据
- 第23天:Matplotlib基础
- 学习基本概念与绘图
- 掌握图表设置与美化
- 练习可视化数据
- 第24天:综合数据处理与可视化
- 结合多库完成项目
- 提高数据处理与可视化能力
- 第25天:项目优化与总结
- 优化项目代码
- 总结知识与问题
- 第26 - 30天:巩固与拓展
- 第26 - 28天:复习与刷题
- 复习知识点
- 在线平台刷题
- 第29天:学习新的Python库或框架
- 选择新库或框架
- 了解基本概念与使用
- 编写示例代码
- 第30天:总结与规划
- 总结学习成果
- 制定下一步计划