Python运算符与流程控制详解
需积分: 5 187 浏览量
更新于2024-08-05
收藏 16KB MD 举报
"Python运算符与流程控制笔记"
在Python编程中,运算符是用于执行特定数学或逻辑操作的特殊符号。本章节将深入探讨Python中的各类运算符,并通过实例进行说明。
### 算术运算符
算术运算符用于进行基本的数学计算。在Python中,主要有以下几种:
1. **加法 (+)**: 将两个操作数相加。例如,`4 + 5` 结果为 `9`。
2. **减法 (-)**: 从一个数中减去另一个数。如 `4 - 5` 结果为 `-1`。
3. **乘法 (*)**: 两个数相乘,或字符串重复指定次数。例如,`4 * 5` 结果为 `20`,`"a"*3` 结果为 `"aaa"`。
4. **除法 (/)**: 返回两个数的浮点数商。如 `10 / 3` 结果为 `3.3333333333333335`。
5. **取模 (%)**: 返回除法的余数。例如,`10 % 3` 结果为 `1`。
6. **幂 (**) : 返回第一个数的第二个数次幂。如 `2 ** 3` 结果为 `8`。
7. **整除 (//)**: 返回两个数相除后的整数部分。例如,`9 // 4` 结果为 `2`,`-9 // 2` 结果为 `-5`。
### 比较运算符
比较运算符用于比较两个值。它们返回 `True` 或 `False` 来表示比较的结果:
1. **等于 (==)**: 检查两个对象是否相等。例如,`3 == 3` 返回 `True`,`3 == "3"` 返回 `False`。
2. **不等于 (!=)**: 检查两个对象是否不相等。例如,`3 != 2` 返回 `True`,`3 != 3` 返回 `False`。
3. **大于 (>)**: 检查左边的数是否大于右边的数。例如,`5 > 3` 返回 `True`。
4. **小于 (<)**: 检查左边的数是否小于右边的数。例如,`2 < 5` 返回 `True`。
5. **大于等于 (>=)**: 检查左边的数是否大于或等于右边的数。例如,`5 >= 5` 返回 `True`。
6. **小于等于 (<=)**: 检查左边的数是否小于或等于右边的数。例如,`3 <= 4` 返回 `True`。
### 赋值运算符
赋值运算符用于将值赋给变量:
1. **简单赋值 (=)**: 将右侧的值赋给左侧的变量。例如,`a = 5`。
2. **加法赋值 (+=)**: 左侧的变量值加上右侧的值,然后赋回给左侧。例如,`a += 3` 相当于 `a = a + 3`。
3. **减法赋值 (-=)**: 左侧的变量值减去右侧的值,然后赋回给左侧。例如,`a -= 2` 相当于 `a = a - 2`。
4. **乘法赋值 (*=)**: 左侧的变量值乘以右侧的值,然后赋回给左侧。例如,`a *= 2` 相当于 `a = a * 2`。
5. **除法赋值 (/=)**: 左侧的变量值除以右侧的值,然后赋回给左侧。例如,`a /= 3` 相当于 `a = a / 3`。
6. **取模赋值 (%=)**: 左侧的变量值对右侧的值取模,然后赋回给左侧。例如,`a %= 7` 相当于 `a = a % 7`。
7. **幂赋值 (**=)**: 左侧的变量值的右侧的值次幂,然后赋回给左侧。例如,`a **= 2` 相当于 `a = a ** 2`。
8. **整除赋值 (//=)**: 左侧的变量值整除右侧的值,然后赋回给左侧。例如,`a //= 4` 相当于 `a = a // 4`。
### 逻辑运算符
逻辑运算符用于连接或改变布尔值:
1. **与 (and)**: 如果两边的操作数都为 `True`,结果才为 `True`。例如,`True and True` 返回 `True`,`False and True` 返回 `False`。
2. **或 (or)**: 如果两边的操作数有一个为 `True`,结果就为 `True`。例如,`True or False` 返回 `True`,`False or False` 返回 `False`。
3. **非 (not)**: 反转操作数的布尔值。例如,`not True` 返回 `False`,`not False` 返回 `True`。
### 位运算符
位运算符作用于整数的二进制表示:
1. **按位与 (&)**: 对应位上都是 `1` 才为 `1`,其他情况为 `0`。
2. **按位或 (|)**: 对应位上至少有一个 `1` 就为 `1`,否则为 `0`。
3. **按位异或 (^)**: 对应位上数字不同则为 `1`,相同则为 `0`。
4. **左移 (<<)**: 将数字的二进制位向左移动指定的位数。
5. **右移 (>>)**: 将数字的二进制位向右移动指定的位数,有符号右移会保留符号位。
6. **按位取反 (~)**: 对数字的二进制位逐个取反,相当于 `0` 变为 `1`,`1` 变为 `0`。
### 成员运算符
成员运算符检查对象是否在序列(列表、元组、字符串)中:
1. **在 (in)**: 如果对象在序列中,返回 `True`。例如,`'a' in 'apple'` 返回 `True`。
2. **不在 (not in)**: 如果对象不在序列中,返回 `True`。例如,`'z' not in 'apple'` 返回 `True`。
### 身份运算符
身份运算符检查两个对象是否是同一个对象,即是否引用同一块内存:
1. **is**: 如果两个对象是同一个对象,则返回 `True`。例如,`a is b` 通常返回 `False`,除非 `a` 和 `b` 是同一个对象。
2. **is not**: 如果两个对象不是同一个对象,则返回 `True`。例如,`a is not b` 通常返回 `True`。
### 运算符优先级
运算符的优先级决定了运算的顺序。例如,先乘除后加减,先括号后运算。可以使用括号来明确指定计算顺序。
了解这些运算符及其优先级对于编写有效的Python代码至关重要。在实际编程中,结合流程控制结构(如条件语句if-else和循环for、while)使用这些运算符,可以实现复杂的逻辑和算法。
2020-06-23 上传
2024-04-02 上传
2020-02-04 上传
2018-03-07 上传
2019-09-09 上传
2024-01-14 上传
2024-04-02 上传
2024-02-21 上传
2024-04-02 上传
s1900_
- 粉丝: 0
- 资源: 14
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器