08、Python运算符【用Python进行AI数据分析进阶教程】

用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

代码解释:

整型变量 ab:

  • a 被赋值为 10b 被赋值为 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,比较元素值

代码解释:

整型变量 xy:

  • x 被赋值为 5y 被赋值为 3
  • 使用比较运算符(==!=><>=<=)对 x 和 y 进行比较,结果为布尔值(True 或 False)。

列表 list1list2:

  • 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
代码解释:

布尔型变量 ab:

  • a 被赋值为 Trueb 被赋值为 False
  • 使用逻辑运算符 andor 和 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 + 5c 的值更新为 15

整型变量 d:

  • d 被赋值为 8
  • 使用复合赋值运算符 *= 对 d 进行操作,d *= 2 等价于 d = d * 2d 的值更新为 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数据分析进阶教程》专栏
2AI大模型应用实践进阶教程《AI大模型应用实践进阶教程》专栏
3Python编程知识集锦《Python编程知识集锦》专栏
4智能辅助驾驶《智能辅助驾驶》专栏
5工具软件及IT技术集锦《工具软件及IT技术集锦》专栏

👉 关注我 @理工男大辉郎 获取实时更新

欢迎关注、收藏或转发。
敬请关注 我的
微信搜索公众号:cnFuJH
CSDN博客:理工男大辉郎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

理工男大辉郎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值