Python运算符

44 阅读6分钟

运算符是 Python 编程的核心基础,用于实现数据计算、逻辑判断、赋值操作等核心功能。掌握不同类型运算符的用法,能让你高效处理数据逻辑、简化代码编写。本文将系统讲解 Python 中常用的运算符类型,结合实战代码示例和应用场景,帮你彻底吃透运算符的使用技巧。

一、运算符概述

运算符是对一个或多个操作数(变量 / 常量)进行运算的特殊符号。例如 2 + 3 中,+ 是运算符,2 和 3 是操作数。Python 中的运算符按功能可分为以下 7 大类:

  • 算术运算符:用于数值计算(加减乘除等)
  • 赋值运算符:用于变量赋值(基础赋值、复合赋值)
  • 比较运算符:用于判断两个值的关系(大于、等于等)
  • 逻辑运算符:用于组合逻辑判断(与、或、非)
  • 成员运算符:判断元素是否在容器中(in、not in)
  • 身份运算符:判断两个对象是否为同一实例(is、is not)
  • 位运算符:直接操作二进制位(较少用,简要介绍)

二、算术运算符(最常用)

算术运算符用于对数值类型(int、float)进行数学运算,返回计算结果。

运算符功能描述示例代码运行结果
+加法运算3 + 51.2 + 2.38、3.5
-减法运算10 - 45.5 - 26、3.5
*乘法运算4 * 62.5 * 324、7.5
/除法运算(返回 float)10 / 38 / 23.333...、4.0
//整除运算(向下取整)10 // 3-10 // 33、-4
%取模运算(返回余数)10 % 37 % 21、0
**幂运算(x 的 y 次方)2 ** 34 ** 0.58、2.0

实战代码示例

python

运行

# 算术运算符实战
a = 15
b = 4

# 基础运算
print("加法:", a + b)      # 输出:19
print("减法:", a - b)      # 输出:11
print("乘法:", a * b)      # 输出:60
print("除法:", a / b)      # 输出:3.75(注意返回float)
print("整除:", a // b)     # 输出:3(向下取整,15/4=3.75→3)
print("取模:", a % b)      # 输出:3(15 = 4*3 + 3)
print("幂运算:", a ** 2)   # 输出:225(15的平方)
print("开平方:", 16 ** 0.5)# 输出:4.0(16的0.5次方即开平方)

# 特殊场景:负数整除(向下取整)
print("-15 // 4 =", -15 // 4)  # 输出:-4(-15/4=-3.75,向下取整为-4)

应用场景

  • 数值计算(如统计分数总和、计算平均值)
  • 取模运算判断奇偶性(num % 2 == 0 为偶数)
  • 幂运算计算面积 / 体积(如正方形面积 side ** 2

三、赋值运算符

赋值运算符用于将右侧的值赋给左侧的变量,核心是 =,延伸出复合赋值运算符(结合算术 / 位运算)。

运算符功能描述等价写法示例代码运行结果
=基础赋值-x = 5x=5
+=加后赋值x = x + yx += 3x=8(x 初始为 5)
-=减后赋值x = x - yx -= 2x=6(x 初始为 8)
*=乘后赋值x = x * yx *= 4x=24(x 初始为 6)
/=除后赋值x = x / yx /= 3x=8.0(x 初始为 24)
//=整除后赋值x = x // yx //= 3x=2.0(x 初始为 8.0)
%=取模后赋值x = x % yx %= 5x=2.0(x 初始为 2.0)
**=幂后赋值x = x ** yx **= 2x=4.0(x 初始为 2.0)

实战代码示例

python

运行

# 赋值运算符实战
x = 10  # 基础赋值

# 复合赋值(简化代码,效率更高)
x += 5   # 等价于 x = x + 5
print("x += 5 后:", x)  # 输出:15

x *= 2   # 等价于 x = x * 2
print("x *= 2 后:", x)  # 输出:30

x /= 6   # 等价于 x = x / 6
print("x /= 6 后:", x)  # 输出:5.0

# 结合取模运算的赋值
y = 7
y %= 3  # 等价于 y = y % 3
print("y %= 3 后:", y)  # 输出:1(7%3=1)

注意事项

  • 赋值运算符右侧优先计算,再赋给左侧变量(如 x = 3 + 5 先算 3+5=8,再赋给 x)
  • 左侧必须是变量(不能是常量,如 5 = x 会报错)

四、比较运算符(关系运算符)

比较运算符用于判断两个值的关系,返回布尔值(True/False) ,是条件判断(if 语句)和循环的核心。

运算符功能描述示例代码运行结果
==判断两个值是否相等5 == 5"abc" == "abd"True、False
!=判断两个值是否不相等5 != 31.2 != 1.2True、False
左侧是否大于右侧10 > 78 > 10True、False
<左侧是否小于右侧3 < 65 < 2True、False
>=左侧是否大于等于右侧7 >= 79 >= 10True、False
<=左侧是否小于等于右侧4 <= 68 <= 5True、False

实战代码示例

python

运行

# 比较运算符实战
num1 = 20
num2 = 15
str1 = "python"
str2 = "Python"

# 数值比较
print("num1 == num2:", num1 == num2)  # 输出:False
print("num1 > num2:", num1 > num2)    # 输出:True
print("num1 <= num2 + 5:", num1 <= num2 + 5)  # 输出:True(15+5=20)

# 字符串比较(按ASCII码顺序)
print("str1 == str2:", str1 == str2)  # 输出:False(大小写ASCII不同)
print("'a' > 'A':", 'a' > 'A')        # 输出:True('a'ASCII=97,'A'=65)

# 特殊场景:不同类型比较(除数值与布尔值外,一般返回False)
print(5 == "5")  # 输出:False(int vs str)
print(1 == True) # 输出:True(布尔值是int子类,True=1,False=0)
print(0 == False)# 输出:True

应用场景

  • 条件判断(如 if score >= 60: print("及格")
  • 循环控制(如 while i < 10: i += 1
  • 数据筛选(如判断列表中元素是否满足条件)

五、逻辑运算符

逻辑运算符用于组合多个布尔值(比较表达式结果),返回最终的逻辑结果(True/False),支持短路求值(提高效率)。

运算符功能描述短路规则示例代码运行结果
and逻辑与:所有条件都为 True 才返回 True左侧为 False 时,右侧不计算(5>3) and (8<10)True
or逻辑或:任意一个条件为 True 就返回 True左侧为 True 时,右侧不计算(5>10) or (8<10)True
not逻辑非:取反布尔值无短路(仅单操作数)not (5>3)False

实战代码示例

python

运行

# 逻辑运算符实战
score = 85
age = 20

# 逻辑与(and):同时满足两个条件
if score >= 60 and age >= 18:
    print("成年且考试及格")  # 输出:成年且考试及格

# 逻辑或(or):满足一个条件即可
if score < 60 or age < 18:
    print("未成年或不及格")  # 不输出(两个条件都不满足)
else:
    print("符合要求")        # 输出:符合要求

# 逻辑非(not):取反
is_pass = score >= 60
print("是否不及格:", not is_pass)  # 输出:False

# 短路求值演示
def func():
    print("函数被执行了")
    return True

print("短路或:", True or func())  # 输出:短路或:True(func未执行,左侧已为True)
print("短路与:", False and func()) # 输出:短路与:False(func未执行,左侧已为False)

优先级说明

逻辑运算符优先级:not > and > or,可通过括号改变优先级:

python

运行

print(True or False and False)  # 输出:True(先算and,再算or)
print((True or False) and False)# 输出:False(括号改变优先级,先算or)