Python运算符与流程控制详解

需积分: 5 0 下载量 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)使用这些运算符,可以实现复杂的逻辑和算法。