Python基础运算符大全:算术、比较、逻辑运算符详

Python提供了丰富的运算符用于各种计算和逻辑操作。本文将全面介绍Python中的三大类基础运算符:算术运算符、比较运算符和逻辑运算符,并通过实例演示它们的用法。

一、算术运算符

算术运算符用于执行基本的数学运算。

1. 基本算术运算符

运算符描述示例结果
+加法5 + 38
-减法10 - 46
*乘法7 * 214
/除法15 / 35.0
//整除15 // 27
%取模15 % 43
**幂运算2 ** 38

示例代码

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. 增强赋值运算符

这些运算符结合了算术运算和赋值操作。

运算符等价于示例结果
+=a = a + ba = 5; a += 38
-=a = a - ba = 5; a -= 23
*=a = a * ba = 5; a *= 210
/=a = a / ba = 10; a /= 25.0
//=a = a // ba = 10; a //= 33
%=a = a % ba = 10; a %= 31
**=a = a ** ba = 2; a **= 38

示例代码

x = 10
x += 5  # 等价于 x = x + 5
print(x)  # 15

y = 20
y //= 3  # 等价于 y = y // 3
print(y)  # 6

二、比较运算符

比较运算符用于比较两个值,返回布尔值TrueFalse

1. 基本比较运算符

运算符描述示例结果
==等于5 == 5True
!=不等于5 != 3True
>大于5 > 3True
<小于5 < 3False
>=大于或等于5 >= 5True
<=小于或等于5 <= 3False

示例代码

a = 10
b = 20

print(a == b)  # False
print(a != b)  # True
print(a > b)   # False
print(a < b)   # True
print(a >= 10) # True
print(b <= 15) # False

2. 链式比较

Python支持链式比较,可以简化多个条件的比较。

# 传统写法
x = 5
if x > 0 and x < 10:
    print("x在0和10之间")

# 链式比较写法
if 0 < x < 10:
    print("x在0和10之间")

三、逻辑运算符

逻辑运算符用于组合多个条件。

1. 基本逻辑运算符

运算符描述示例结果
and逻辑与True and FalseFalse
or逻辑或True or FalseTrue
not逻辑非not TrueFalse

示例代码

age = 25
has_license = True

# 使用and运算符
if age >= 18 and has_license:
    print("可以驾驶")  # 会执行

# 使用or运算符
if age < 18 or not has_license:
    print("不能驾驶")  # 不会执行

# 使用not运算符
is_raining = False
if not is_raining:
    print("天气晴朗")  # 会执行

2. 短路求值特性

Python的逻辑运算符具有短路求值特性:

  • and:如果第一个表达式为False,不会计算第二个表达式
  • or:如果第一个表达式为True,不会计算第二个表达式
def check():
    print("函数被调用")
    return True

# 由于第一个条件已经是True,or运算符不会调用check()
True or check()  # 不会输出"函数被调用"

# 由于第一个条件已经是False,and运算符不会调用check()
False and check()  # 不会输出"函数被调用"

3. 运算符优先级

当多种运算符混合使用时,遵循以下优先级(从高到低):

  1. ** 幂运算
  2. *, /, //, % 乘除类运算
  3. +, - 加减法
  4. ==, !=, >, <, >=, <= 比较运算
  5. not 逻辑非
  6. and 逻辑与
  7. or 逻辑或

示例

result = 5 + 3 * 2 ** 2  # 等价于 5 + (3 * (2 ** 2)) = 17
print(result)

flag = not True or False and True  # 等价于 (not True) or (False and True) = False
print(flag)

四、特殊运算符用法

1. 字符串运算

# 字符串连接
name = "张" + "三"  # "张三"

# 字符串重复
line = "-" * 20  # "--------------------"

# 字符串比较(按字典序)
print("apple" < "banana")  # True

2. 列表运算

# 列表连接
list1 = [1, 2] + [3, 4]  # [1, 2, 3, 4]

# 列表重复
zeros = [0] * 5  # [0, 0, 0, 0, 0]

# 列表比较(按元素顺序)
print([1, 2] < [1, 3])  # True

3. 身份运算符

isis not用于比较对象是否是同一个对象(内存地址相同)。

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)     # True,同一个对象
print(a is c)     # False,值相同但不是同一个对象
print(a == c)     # True,值相同

五、运算符重载

Python允许通过特殊方法重载运算符,自定义类的运算行为。

class Vector:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    
    def __add__(self, other):
        """重载+运算符"""
        return Vector(self.x + other.x, self.y + other.y)
    
    def __str__(self):
        return f"Vector({self.x}, {self.y})"

v1 = Vector(2, 3)
v2 = Vector(4, 5)
print(v1 + v2)  # Vector(6, 8)

常见可重载运算符的特殊方法:

  • __add__+
  • __sub__-
  • __mul__*
  • __truediv__/
  • __eq__==
  • __lt__<
  • 等等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦幻南瓜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值