前面我们讲完了Python的基础语法、基本的数据类型以及各种数据类型间的转换。现在可以进行Python的基础知识的逐步详解学习了。下面我们开始讲解Python基础知识:运算符。
在Python中,运算符是用于执行各种操作的符号,它们可以对数字、字符串、列表等数据类型进行操作。运算的逻辑也很好懂,就是讲 = (赋值符)右边的运算,赋值给左边的变量。
下面我们开始学习:
1. 算术运算符
算术运算符用于执行数学运算,逻辑就是按照数学逻辑处理,包括加减乘除、幂运算、取余数等。下面这张列表列出了一些常用的算术运算。
运算符 | 含义 | 示例 |
---|---|---|
+ | 加法 | 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
2. 比较(关系)运算符
比较运算符用于比较运算符两侧两个操作数的大小或相等性,然后将运算结果以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
3. 赋值运算符
赋值运算符用于将值赋给变量。下图列出了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)
4. 逻辑运算符
逻辑运算符用于对两个布尔值进行逻辑运算。下图列出了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
5. 位运算符
位运算符用于对二进制数进行位操作。下图列出了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。
6. 成员运算符
成员运算符用于检查某个元素是否属于某个集合。下图列出了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
7. 身份运算符
身份运算符用于检查两个对象是否是同一对象。下图列出了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
8. 运算符优先级
当表达式中包含多个运算符时,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的下一个知识点。
如果感觉阅读对您还有些作用,可以评论留言,关注我。谢谢您的阅读!
往期学习:
往期学习: