用Python进行AI数据分析进阶教程08:Python运算符
👉 欢迎订阅🔗
《用Python进行AI数据分析进阶教程》专栏
《AI大模型应用实践进阶教程》专栏
《Python编程知识集锦》专栏
《智能辅助驾驶》专栏
《工具软件及IT技术集锦》专栏
关键词 :Python、运算符、算术运算、逻辑运算、比较运算、赋值运算
概要 :本文详细介绍了Python中常见的运算符类型,包括算术运算符、比较运算符、逻辑运算符和赋值运算符。算术运算符用于基本数学运算,如加减乘除、取余、幂运算等;比较运算符用于判断两个值的大小关系,返回布尔值;逻辑运算符(and、or、not)用于组合多个条件表达式;赋值运算符支持简单赋值和复合赋值(如+=、*=)。文章还简要介绍了位运算符,用于对整数的二进制位进行操作,但较为底层且不常用。通过多个代码示例展示了各类运算符的使用方式及注意事项,帮助读者掌握Python中的基本运算与逻辑判断方法。
以下是 Python 中常见运算符(算术运算符、比较运算符、逻辑运算符、赋值运算符等)的概念、关键点、注意点及举例说明:
一、算术运算符
1、概念:
用于执行基本的数学运算,如加、减、乘、除等。
2、关键点:
- 加法(+):对两个操作数进行相加运算,也可用于字符串的拼接。
- 减法(-):从第一个操作数中减去第二个操作数。
- 乘法(*):将两个操作数相乘,也可用于字符串和列表的重复。
- 除法(/):返回两个数相除的结果,结果为浮点数。
- 整除(//):返回两个数相除的商的整数部分,结果为整数。
- 取余(%):返回两个数相除的余数。
- 幂运算()**:对第一个操作数进行第二个操作数次幂的运算。
3、注意点:
- 除法运算(/)结果为浮点数,若要得到整数商,需使用整除(//)。
- 幂运算(**)的优先级高于乘、除、整除和取余运算。
4、举例:
Python脚本
# 定义一个整型变量 a,并将其赋值为 10
a = 10
# 定义一个整型变量 b,并将其赋值为 3
b = 3
# 打印变量 a 与变量 b 相加的结果# 使用加法运算符 + 进行数值相加操作
print(a + b) # 输出 13
# 打印变量 a 减去变量 b 的结果# 使用减法运算符 - 进行数值相减操作
print(a - b) # 输出 7
# 打印变量 a 与变量 b 相乘的结果# 使用乘法运算符 * 进行数值相乘操作
print(a * b) # 输出 30
# 打印变量 a 除以变量 b 的结果
# 使用除法运算符 / 进行数值相除操作,结果为浮点数
print(a / b) # 输出 3.3333333333333335
# 打印变量 a 除以变量 b 的整数商# 使用整除运算符 // 进行数值相除并取整操作
print(a // b) # 输出 3
# 打印变量 a 除以变量 b 的余数# 使用取模运算符 % 计算余数
print(a % b) # 输出 1
# 打印变量 a 的 b 次幂的结果
# 使用幂运算符 ** 进行幂运算
print(a ** b) # 输出 1000
# 定义一个字符串变量 s,并将其赋值为 "Hello"s = "Hello"
# 打印字符串 s 重复 3 次的结果
# 当字符串与整数使用 * 运算符时,表示字符串重复指定的次数
print(s * 3) # 输出 HelloHelloHello
代码解释:
整型变量 a 和 b:
- a 被赋值为 10,b 被赋值为 3。
- 使用不同的算术运算符对 a 和 b 进行操作,包括加法、减法、乘法、除法、整除、取模和幂运算。
字符串变量 s:
- s 被赋值为 "Hello"。
- 使用 * 运算符将字符串 s 重复 3 次,结果为 "HelloHelloHello"。
输出结果:
Plaintext
137
30
3.3333333333333335
3
1
1000
HelloHelloHello
二、比较运算符
1、概念:
用于比较两个操作数的大小关系,返回布尔值(True 或 False)。
2、关键点:
- 等于(==):判断两个操作数是否相等。
- 不等于(!=):判断两个操作数是否不相等。
- 大于(>):判断第一个操作数是否大于第二个操作数。
- 小于(<):判断第一个操作数是否小于第二个操作数。
- 大于等于(>=):判断第一个操作数是否大于或等于第二个操作数。
- 小于等于(<=):判断第一个操作数是否小于或等于第二个操作数。
3、注意点:
比较运算符比较的是值,对于可变对象(如列表、字典),比较的是对象中元素的值,而不是对象的身份(内存地址)。
4、举例:
Python脚本
# 定义一个整型变量 x,并将其赋值为 5
x = 5
# 定义一个整型变量 y,并将其赋值为 3
y = 3
# 使用相等比较运算符(==)比较变量 x 和 y 的值是否相等
# 由于 5 不等于 3,所以该比较结果为 False,将结果打印输出
print(x == y) # 输出 False
# 使用不等比较运算符(!=)比较变量 x 和 y 的值是否不相等
# 因为 5 确实不等于 3,所以该比较结果为 True,将结果打印输出
print(x != y) # 输出 True
# 使用大于比较运算符(>)比较变量 x 是否大于变量 y
# 5 大于 3,所以该比较结果为 True,将结果打印输出
print(x > y) # 输出 True
# 使用小于比较运算符(<)比较变量 x 是否小于变量 y
# 5 不小于 3,所以该比较结果为 False,将结果打印输出
print(x < y) # 输出 False
# 使用大于等于比较运算符(>=)比较变量 x 是否大于或等于变量 y
# 5 大于 3,满足大于等于的条件,所以该比较结果为 True,将结果打印输出
print(x >= y) # 输出 True
# 使用小于等于比较运算符(<=)比较变量 x 是否小于或等于变量 y
# 5 不小于等于 3,所以该比较结果为 False,将结果打印输出
print(x <= y) # 输出 False
# 创建一个列表对象 list1,列表中包含整数元素 1、2、3
list1 = [1, 2, 3]
# 创建另一个列表对象 list2,列表中同样包含整数元素 1、2、3
list2 = [1, 2, 3]
# 使用相等比较运算符(==)比较列表 list1 和 list2 是否相等
# 在 Python 中,对于列表,== 会比较它们的元素是否完全相同(顺序也相同)
# 这里 list1 和 list2 的元素及顺序都一样,所以比较结果为 True,将结果打印输出
print(list1 == list2) # 输出 True,比较元素值
代码解释:
整型变量 x 和 y:
- x 被赋值为 5,y 被赋值为 3。
- 使用比较运算符(==、!=、>、<、>=、<=)对 x 和 y 进行比较,结果为布尔值(True 或 False)。
列表 list1 和 list2:
- list1 和 list2 都包含相同的元素 [1, 2, 3]。
- 使用 == 比较两个列表,结果为 True,因为它们的元素和顺序完全相同。
输出结果:
Plaintext
FalseTrue
True
False
True
False
True
三、逻辑运算符
1、概念:
用于组合多个布尔表达式,返回一个布尔值。
2、关键点:
- 与(and):只有当所有操作数都为 True 时,结果才为 True,否则为 False。
- 或(or):只要有一个操作数为 True,结果就为 True,只有当所有操作数都为 False 时,结果才为 False。
- 非(not):对操作数的布尔值取反,即 True 变为 False,False 变为 True。
3、注意点:
逻辑运算符的优先级为 not 高于 and 高于 or 。可以使用括号来改变运算顺序。
4、举例:
Python脚本
# 定义一个布尔型变量 a,并将其赋值为 True,表示真
a = True
# 定义一个布尔型变量 b,并将其赋值为 False,表示假
b = False
# 使用逻辑与(and)运算符对 a 和 b 进行运算
# 逻辑与运算符要求两个操作数都为 True 时结果才为 True,否则为 False
# 这里 b 为 False,所以 a and b 的结果为 False,将结果打印输出
print(a and b) # 输出 False
# 使用逻辑或(or)运算符对 a 和 b 进行运算
# 逻辑或运算符只要两个操作数中有一个为 True,
# 结果就为 True,只有两个都为 False 时结果才为 False
# 这里 a 为 True,所以 a or b 的结果为 True,将结果打印输出
print(a or b) # 输出 True
# 使用逻辑非(not)运算符对 a 进行运算
# 逻辑非运算符会将操作数的布尔值取反,即 True 变为 False,False 变为 True
# 这里 a 为 True,所以 not a 的结果为 False,将结果打印输出
print(not a) # 输出 False
# 定义一个整型变量 x,并将其赋值为 5
x = 5
# 进行两个比较运算并使用逻辑与(and)运算符连接
# 第一个比较运算 x > 3 结果为 True,第二个比较运算 x < 10 结果也为 True
# 由于两个比较结果都为 True,
# 所以 (x > 3) and (x < 10) 的结果为 True,将结果打印输出
print((x > 3) and (x < 10)) # 输出 True
代码解释:
布尔型变量 a 和 b:
- a 被赋值为 True,b 被赋值为 False。
- 使用逻辑运算符 and、or 和 not 对 a 和 b 进行运算,结果为布尔值(True 或 False)。
整型变量 x:
- x 被赋值为 5。
- 使用逻辑运算符 and 连接两个比较运算 (x > 3) 和 (x < 10),结果为 True,因为两个比较运算都为 True。
输出结果:
Plaintext
FalseTrue
False
True
四、赋值运算符
1、概念:
用于将值赋给变量,也可以进行复合赋值操作,即先进行某种运算,再将结果赋值给变量。
2、关键点:
- 简单赋值(=):将右侧的值赋给左侧的变量。
- 复合赋值(+=、-=、*=、/=、//=、%=、=)**:先对变量和右侧的值进行相应的算术运算,再将结果赋值给变量。例如, a += b 等价于 a = a + b 。
3、注意点:
赋值运算符的左侧必须是变量,不能是常量或表达式。
4、举例:
Python脚本
# 定义一个整型变量 c,并将其赋值为 10
c = 10
# 打印变量 c 的值,此时输出为 10
print(c)
# 使用复合赋值运算符 += 对变量 c 进行操作
# c += 5 等价于 c = c + 5,即将 c 的值加上 5 后再赋值给 c
# 这里 c 原本为 10,加上 5 后变为 15
c += 5 # 打印变量 c 更新后的值,此时输出为 15
print(c) # 输出1015
# 定义一个整型变量 d,并将其赋值为 8
d = 8
# 使用复合赋值运算符 *= 对变量 d 进行操作
# d *= 2 等价于 d = d * 2,即将 d 的值乘以 2 后再赋值给 d
# 这里 d 原本为 8,乘以 2 后变为 16
d *= 2
# 打印变量 d 更新后的值,此时输出为 16
print(d) # 输出16
代码解释:
整型变量 c:
- c 被赋值为 10。
- 使用复合赋值运算符 += 对 c 进行操作,c += 5 等价于 c = c + 5,c 的值更新为 15。
整型变量 d:
- d 被赋值为 8。
- 使用复合赋值运算符 *= 对 d 进行操作,d *= 2 等价于 d = d * 2,d 的值更新为 16。
输出结果:
Plaintext
1015
16
五、位运算符(了解即可,相对不常用)
1、概念:
用于对整数的二进制位进行操作。
2、关键点:
- 按位与(&):对两个数的二进制位进行与运算,只有对应位都为 1 时,结果位才为 1。
- 按位或(|):对两个数的二进制位进行或运算,只要对应位中有一个为 1,结果位就为 1。
- 按位异或(^):对两个数的二进制位进行异或运算,对应位不同时结果位为 1,相同时为 0。
- 按位取反(~):对一个数的二进制位取反。
- 左移(<<):将一个数的二进制位向左移动指定的位数,低位补 0。
- 右移(>>):将一个数的二进制位向右移动指定的位数,高位补符号位(正数补 0,负数补 1)。
3、注意点:
位运算符主要用于底层的位操作,对于一般的数值计算和逻辑判断使用较少。
4、举例:
Python脚本
# 定义一个整型变量 m,并将其赋值为 5
# 5 的二进制表示是 0101(在 Python 里,整数默认以十进制存储,
# 可通过 bin() 函数查看二进制形式)
m = 5
# 定义一个整型变量 n,并将其赋值为 3
# 3 的二进制表示是 0011
n = 3
# 按位与运算符 &
# 对 m 和 n 的二进制位逐位进行与运算,只有当对应位都为 1 时结果位才为 1,否则为 0
# m 的二进制 101 与 n 的二进制 011 进行按位与运算,结果是 001,对应的十进制数是 1
# 打印 m 和 n 按位与运算的结果
print(m & n) # 输出 1,二进制为 0001
# 按位或运算符 |
# 对 m 和 n 的二进制位逐位进行或运算,只要对应位中有一个为 1 结果位就为 1,
# 只有都为 0 时结果位才为 0
# m 的二进制 101 与 n 的二进制 011 进行按位或运算,结果是 111,对应的十进制数是 7
# 打印 m 和 n 按位或运算的结果
print(m | n) # 输出 7,二进制为 0111
# 按位异或运算符 ^
# 对 m 和 n 的二进制位逐位进行异或运算,当对应位不同时结果位为 1,
# 相同时结果位为 0
# m 的二进制 101 与 n 的二进制 011 进行按位异或运算,结果是 110,对
# 应的十进制数是 6# 打印 m 和 n 按位异或运算的结果
print(m ^ n) # 输出 6,二进制为 0110
# 按位取反运算符 ~
# 对 m 的二进制位逐位取反,即 1 变为 0,0 变为 1
# 5 的二进制补码(在计算机中整数以补码形式存储)表示,
# 假设是 32 位系统,为 00000000 00000000 00000000 00000101
# 按位取反后得到 11111111 11111111 11111111 11111010,这是 -6 的补码形式
# 打印 m 按位取反运算的结果
print(~m) # 输出 -6,因为 5 的二进制取反后为 1010,解释为补码是 -6
# 左移运算符 <<
# 将 m 的二进制位向左移动指定的位数,右边空出的位用 0 填充
# m 的二进制 101 向左移动 2 位,得到 10100,对应的十进制数是 20
# 打印 m 左移 2 位后的结果
print(m << 2) # 输出 20,二进制为 10100
# 右移运算符 >># 将 m 的二进制位向右移动指定的位数,
# 左边空出的位根据符号位填充(正数补 0,负数补 1)
# m 的二进制 101 向右移动 1 位,得到 10,对应的十进制数是 2
# 打印 m 右移 1 位后的结果
print(m >> 1) # 输出 2,二进制为 0010
代码解释:
按位与运算符 &:
- 对 m 和 n 的二进制位逐位进行与运算,结果为 1(二进制 0001)。
按位或运算符 |:
- 对 m 和 n 的二进制位逐位进行或运算,结果为 7(二进制 0111)。
按位异或运算符 ^:
- 对 m 和 n 的二进制位逐位进行异或运算,结果为 6(二进制 0110)。
按位取反运算符 ~:
- 对 m 的二进制位逐位取反,结果为 -6(二进制 11111111 11111111 11111111 11111010,补码形式)。
左移运算符 <<:
- 将 m 的二进制位向左移动 2 位,结果为 20(二进制 10100)。
右移运算符 >>:
- 将 m 的二进制位向右移动 1 位,结果为 2(二进制 0010)。
输出结果:
Plaintext
17
6
-6
20
2
通过理解和掌握这些运算符的概念、关键点和注意点,能够在 Python 编程中灵活地进行各种运算和逻辑判断。
——The END——
🔗 欢迎订阅专栏
| 序号 | 专栏名称 | 说明 |
|---|---|---|
| 1 | 用Python进行AI数据分析进阶教程 | 《用Python进行AI数据分析进阶教程》专栏 |
| 2 | AI大模型应用实践进阶教程 | 《AI大模型应用实践进阶教程》专栏 |
| 3 | Python编程知识集锦 | 《Python编程知识集锦》专栏 |
| 4 | 智能辅助驾驶 | 《智能辅助驾驶》专栏 |
| 5 | 工具软件及IT技术集锦 | 《工具软件及IT技术集锦》专栏 |
👉 关注我 @理工男大辉郎 获取实时更新
欢迎关注、收藏或转发。
敬请关注 我的
微信搜索公众号:cnFuJH
CSDN博客:理工男大辉郎

2万+

被折叠的 条评论
为什么被折叠?



