网站首页 > 技术文章 正文
类型转换
显式转换
隐式转换
整数与浮点数相加,结果是浮点数。
类型检查
使用 type() 或 isinstance() 检查数据类型。
type()
isinstance()
基本概念
Python 中用于检查对象类型的内置函数。
语法
参数
object: 要检查的对象
classinfo: 类型或类型元组
返回值
如果对象是指定类型的实例,返回 True,否则返回 False
基本用法
与继承的关系
与 type() 的区别
总结
isinstance() 是类型检查的推荐方式,因为它支持继承关系,使代码更加灵活和符合面向对象的设计原则。
运算符
算术运算符
用于基本的数学运算
示例代码:
比较运算符
用于比较两个值,返回布尔值 True 或 False
示例代码:
逻辑运算符
用于组合多个条件
示例代码:
赋值运算符
用于为变量赋值或进行复合运算
代码示例
位运算符
直接操作二进制位
示例
成员运算符
检查元素是否属于某个容器
身份运算符
判断两个对象是否为同一内存对象
注意:is 比较的是对象的内存地址,而 == 比较的是值。
三元运算符
简化条件判断的赋值操作:
语法:
结果= 值1 if 条件 else 值2
运算符优先级
运算符的执行顺序(从高到低):
括号:()
幂运算:**
位运算取反:~
算术运算符:*, /, //, % → +, -
位运算:<<, >> → & → ^ → |
比较运算符:==, !=, >, <, >=, <=
逻辑运算符:not → and → or
赋值运算符:=, +=, -= 等
代码示例
条件语句
基本语法
Python 的条件控制通过 if、elif 和 else 关键字实现,语法如下:
执行逻辑
1、依次检查每个 if 或 elif 后的条件。
2、遇到第一个满足的条件(True)时,执行对应的代码块。
3、如果所有条件均不满足,则执行 else 代码块(如果有)。
示例代码
简单 if 语句
if-else 结构
多条件 elif
嵌套条件
复合条件
常见错误与注意事项
1、缩进错误:Python 用缩进标识代码块,必须统一使用 4 个空格或 Tab。
2、缺少冒号:每个条件后必须加冒号(:)。
3、混淆 = 和 ==:= 是赋值,== 是相等比较。
4、空代码块:使用 pass 占位。
模式匹配
基本概念
match 是 Python 3.10 引入的模式匹配语法,用于简化复杂的条件判断。它类似于其他语言中的 switch-case,但功能更强大,支持匹配多种模式(如类型、值、结构等)。
语法
核心功能
1、匹配值
2、匹配类型
3、匹配结构
4、匹配字典
5、匹配类对象
6、使用守卫(Guard)
在 case 中添加 if 条件:
优点
1、代码简洁
减少多层 if-elif-else 嵌套。
2、可读性强
模式匹配更直观,易于理解。
3、功能强大
支持值、类型、结构等多种匹配方式。
注意事项
1、Python版本
match 需要 Python 3.10 及以上版本。
2、默认情况
case _ 用于匹配所有未处理的情况。
3、性能
match 的性能通常优于多层 if-elif-else。
循环语句
基本概念
Python 支持两种循环结构:
1、for 循环:用于遍历序列(如列表、字符串、范围等)。
2、while 循环:在条件为 True 时重复执行代码块。
序列
内置序列类型
1. 字符串 (str)
2、列表
3、元组
4、字节序列
5、字节数组
6、范围对象
序列特性分类
可变序列
list - 列表
bytearray - 字节数组
不可变序列
str - 字符串
tuple - 元组
bytes - 字节序列
range - 范围对象
for循环
基本语法
示例代码
1、遍历列表
2、遍历字符串
3、遍历范围
结合else
for 循环可以带一个 else 块,当循环正常结束时执行(未被 break 中断)。
while循环
基本语法
同样需要注意冒号和缩进。另外在 Python 中没有 do..while 循环。
示例代码
结合else
无限循环
循环控制语句
break
立即退出循环。
continue
跳过当前迭代,进入下一次循环。
pass
占位符,表示空操作。
嵌套循环
循环可以嵌套使用,用于处理多维数据。
字符串重复语法
语法
字符串 * 数字
基本格式:
字符串 * 整数 = 重复后的新字符串
语法规则
1、* 是重复操作符(也叫乘法操作符)
2、左边必须是字符串类型
3、右边必须是整数类型
4、返回一个新的字符串,包含原字符串重复指定次数的内容
示例
顺序可以颠倒
注意事项
1、负数会返回空字符串:"a" * -1 → ""
2、浮点数会报错:"a" * 3.5 → TypeError
3、这个操作创建新字符串,不修改原字符串。
应用场景
1、创建分隔线
"=" * 50
2、生成填充字符
" " * 20(20个空格)
3、创建简单图案
"*" * 10
4、格式化输出
"-" * 30
异常
基本概念
Python异常处理是程序错误处理的核心机制,用于捕获和处理运行时错误。
语法
示例
1、捕获特定异常
2、获取异常信息
3、处理多个异常
else和finally 子句
1、else 子句
2、finally 子句
抛出异常
1、raise语句
2、重新抛出异常
3、抛出新异常
raise ... from ...
基本概念
raise ... from ... 是Python的异常链接语法,用于在处理一个异常时抛出另一个异常,同时保留原始异常信息。
语法
作用和意义
1、保留异常上下文
输出
总结
raise ... from ... 语法是Python异常处理的重要特性,它让异常信息更加完整和有用,特别是在构建复杂系统时,能帮助开发者快速定位问题的根本原因。
最佳实践
1、具体异常
捕获具体的异常类型,避免使用裸露的 except:
2、异常链
使用 raise ... from ... 保留原始异常信息
3、资源清理
使用 finally 或 with 语句确保资源释放
4、日志记录
记录异常信息用于调试
5、用户友好
给用户提供有意义的错误信息
总结
异常处理是编写健壮程序的关键技能,正确使用能让程序更加稳定和用户友好。
猜你喜欢
- 2025-07-27 Python 3.14 新特性盘点,更新了些什么?
- 2025-07-27 Python单元测试(pycharm单元测试教程)
- 2025-07-27 Python学不会来打我(8)字符串string类型深度解析
- 2025-07-27 Python 中 字符串处理的高效方法,不允许你还不知道
- 2025-07-27 Python-分支结构(python分支结构教学设计)
- 2025-07-27 Python自动化办公应用学习笔记16——分支结构
- 2025-05-05 python unittest 基本用法(python3 unittest)
- 2025-05-05 使用pytest进行单元测试(pytest详解)
- 2025-05-05 用扣子开发一个图灵测试游戏(用扣子开发一个图灵测试游戏的软件)
- 2025-05-05 Python进阶-day19: 测试与调试(python测验)
- 1518℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 599℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 521℃MySQL service启动脚本浅析(r12笔记第59天)
- 489℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 489℃启用MySQL查询缓存(mysql8.0查询缓存)
- 477℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 456℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 454℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)