前面我们讲完了Python的基础语法、基本的数据类型以及各种数据类型间的转换。现在可以进行Python的基础知识的逐步详解学习了。下面我们开始讲解Python基础知识:运算符。
在Python中,运算符是用于执行各种操作的符号,它们可以对数字、字符串、列表等数据类型进行操作。运算的逻辑也很好懂,就是讲 = (赋值符)右边的运算,赋值给左边的变量。
下面我们开始学习:
算术运算符用于执行数学运算,逻辑就是按照数学逻辑处理,包括加减乘除、幂运算、取余数等。下面这张列表列出了一些常用的算术运算。
| 运算符 | 含义 | 示例 |
|---|---|---|
| + | 加法 | 1 + 2 = 3 |
| - | 减法 | 5 - 3 = 2 |
| * | 乘法 | 4 * 3 = 12 |
| / | 浮点除 | 10 / 3 = 3.3333333333333335 |
| // | 整除 | 10 // 3 = 3 |
| % | 取余数 | 10 % 3 = 1 |
| ** | 幂运算 | 2 ** 3 = 8 |
示例代码:
- a = 10
- b = 3
-
- # 加法
- print(a + b) # 输出:13
-
- # 减法
- print(a - b) # 输出:7
-
- # 乘法
- print(a * b) # 输出:30
-
- # 除法
- print(a / b) # 输出:3.3333333333333335
-
- # 整除
- print(a // b) # 输出:3
-
- # 取模
- print(a % b) # 输出:1
-
- # 指数
- print(a ** b) # 输出:1000
比较运算符用于比较运算符两侧两个操作数的大小或相等性,然后将运算结果以True或False的形式返回给赋值符(=)左边的变量。下面的表格是列出的一些运算符:
| 运算符 | 含义 | 示例 |
|---|---|---|
| == | 等于 | 1 == 1 # True |
| != | 不等于 | 1 != 2 # True |
| < | 小于 | 1 < 2 # True |
| > | 大于 | 2 > 1 # True |
| <= | 小于或等于 | 2 <= 2 # True |
| >= | 大于或等于 | 1 >= 1 # True |
示例代码:
- x = 10
- y = 5
-
- print(x == y) # 输出:False
- print(x != y) # 输出:True
- print(x > y) # 输出:True
- print(x < y) # 输出:False
- print(x >= y) # 输出:True
- print(x <= y) # 输出:False
赋值运算符用于将值赋给变量。下图列出了Python的赋值运算符:
| 运算符 | 含义 | 示例 |
|---|---|---|
| = | 赋值 | a = 1 |
| += | 加并赋值 | a += 1 # a 变为 2 |
| -= | 减并赋值 | a -= 1 # a 变为 1 |
| *= | 乘并赋值 | a *= 2 # a 变为 2 |
| /= | 除并赋值 | a /= 2 # a 变为 0.5 |
| //= | 整除并赋值 | a //= 2 # a 变为 0 |
| %= | 取余并赋值 | a %= 2 # a 变为 0 |
| **= | 幂并赋值 | a **= 2 # a 变为 4 |
示例代码:
- # 简单赋值
- x = 5
- print("简单赋值 x =", x)
-
- # 加法赋值
- x += 2 # 等同于 x = x + 2
- print("加法赋值 x + 2 =", x)
-
- # 减法赋值
- x -= 3 # 等同于 x = x - 3
- print("减法赋值 x - 3 =", x)
-
- # 乘法赋值
- x *= 4 # 等同于 x = x * 4
- print("乘法赋值 x * 4 =", x)
-
- # 除法赋值
- x /= 2 # 等同于 x = x / 2
- print("除法赋值 x / 2 =", x)
-
- # 整除赋值
- x //= 3 # 等同于 x = x // 3
- print("整除赋值 x // 3 =", x)
-
- # 取模赋值
- x %= 2 # 等同于 x = x % 2
- print("取模赋值 x % 2 =", x)
-
- # 指数赋值
- x **= 3 # 等同于 x = x ** 3
- print("指数赋值 x ** 3 =", x)
逻辑运算符用于对两个布尔值进行逻辑运算。下图列出了Python的逻辑运算符:
| 运算符 | 含义 | 示例 |
|---|---|---|
| and | 逻辑与 | True and True # True |
| or | 逻辑或 | True or False # True |
| not | 逻辑非 | not True # False |
示例代码:
- a = True
- b = False
-
- print(a and b) # 输出:False
- print(a or b) # 输出:True
- print(not a) # 输出:False
位运算符用于对二进制数进行位操作。下图列出了Python的位运算符 :
| 运算符 | 含义 | 示例 |
|---|---|---|
| & | 按位与 | 10 & 3 # 2 |
| | | 按位或 | 10 | 3 # 13 |
| ^ | 按位异或 | 10 ^ 3 # 9 |
| ~ | 按位取反 | ~10 # -11 |
| << | 左移 | 10 << 2 # 40 |
| >> | 右移 | 10 >> 2 # 2 |
示例代码:
- a = 10 # 1010
- b = 3 # 0010
-
- print(a & b) # 输出:2
- print(a | b) # 输出:11
- print(a ^ b) # 输出:9
- print(~a) # 输出:-11
- print(a << 1) # 输出:20
- print(a >> 1) # 输出:5
上面10的二进制代码是 1010,3的二进制代码是 0010。进行 按位与,就是与操作,所以结果是0010,翻译为十进制就是2。
成员运算符用于检查某个元素是否属于某个集合。下图列出了Python的位运算符 :
| 运算符 | 含义 | 示例 |
|---|---|---|
| in | 属于 | 1 in [1, 2, 3] # True |
| not in | 不属于 | 4 not in [1, 2, 3] # True |
示例代码:
- my_list = [1, 2, 3, 4, 5]
-
- print(3 in my_list) # 输出:True
- print(6 not in my_list) # 输出:True
身份运算符用于检查两个对象是否是同一对象。下图列出了Python的位运算符 :
| 运算符 | 含义 | 示例 |
|---|---|---|
| is | 是同一对象 | a is b # True if a and b refer to the same object |
| is not | 不是同一对象 | a is not b # True if a and b do not refer to the same object |
示例代码:
- x = 10
- y = 10
- z = 5
-
- print(x is y) # 输出:True
- print(x is not z) # 输出:True
当表达式中包含多个运算符时,Python 会根据运算符的优先级顺序依次执行运算。以下是 Python 运算符优先级表,从高到低排列:
| 优先级 | 类型 | 内容 | |||||
| 1 | 括号 | ( ) | |||||
| 2 | 幂运算 | ** | |||||
| 3 | 一元运算符 | ~ | + | - | |||
| 4 | 乘除 | / | * | // | % | ||
| 5 | 加减 | + | - | ||||
| 6 | 左移、右移 | >> | << | ||||
| 7 | 按位与 | & | |||||
| 8 | 按位异或 | ^ | |||||
| 9 | 按位或 | | | |||||
| 10 | 比较运算符 | == | != | < | > | <= | >= |
| 11 | 逻辑运算符 | not | |||||
| 12 | 逻辑运算符 | and | |||||
| 13 | 逻辑运算符 | or | |||||
示例代码:
- result = 2 + 3 * 4
- # 乘法优先级高于加法,先计算3*4,然后再加2
- print(result) # 输出:14
-
- result = (2 + 3) * 4
- # 加法优先级高于乘法,先计算2+3,然后再乘4
- print(result) # 输出:20
-
- result = 10 > 5 and 5 < 3
- # 先计算10 > 5为True,然后再判断5 < 3为False
- # 最后进行逻辑与运算,True and False为False
- print(result) # 输出:False
-
- result = (10 > 5) or (5 < 3)
- # 先计算10 > 5为True,然后判断5 < 3为False
- # 最后进行逻辑或运算,True or False为True
- print(result) # 输出:True
对于这些也优先级,可能不好记,但是括号作为第一优先级, 尽量使用括号来明确运算顺序,提高代码可读性。
当然,对于复杂的表达式可以拆分成多个简单表达式,避免难以理解。
那么,运算符的基础知识,大概就讲这么多。大家有时间也可以跟着代码敲一下,增加记忆。
感谢您的关注,我们下一篇文章将继续学习记录python的下一个知识点。
如果感觉阅读对您还有些作用,可以评论留言,关注我。谢谢您的阅读!
往期学习:
往期学习: