一、Python中的运算符大概分为四个部分

(1)算数运算符

指数运算(**)拥有最高优先级,且采用从右到左的结合方向(例如 2 ** 3 ** 2 实际计算的是 2 的 9 次方);乘法、除法、整除(//)和取余(%)处于同一优先级,按从左到右的顺序执行;加法和减法的优先级最低。需要注意的是,除法(/)的结果永远是浮点数,而整除(//)则会向下取整,这导致负数运算时容易出乎意料(如 -7 // 3 等于 -3 而非 -2);取余运算 % 的结果符号在 Python 中与除数保持一致,其本质遵循 a % b = a - (a // b) * b 这一公式。当整数与浮点数混合运算时,结果会自动转为浮点数,而使用括号 () 可以强制改变任何默认的运算顺序,这里写了参考代码(仅供参考):

# 这里我们仅做代码优先级的实例
num1 = 2
num2 = 4
num3 = 16
# 先熟悉每个运算符的运算规则
Fir_num1 = num1 + num2
Fir_num2 = num2 - num1
Sec_num1 = num1 * num2
Sec_num2 = num3 / num1
Sec_num3 = num3 // num1
Sec_num4 = num3 % num1
Th_num1 = num1 ** num2
# 混合运算
mix_num1 = num1 + num2 * num2 ** num1
mix_num2 = num2 / num1 + num3 % num1
mix_num3 = num3 % num2 // num1 ** num2
# 分别打印输出,可以自己现计算一下,再核对跟自己的预期是否一致
print(Fir_num1)
print(Fir_num2)
print(Sec_num1)
print(Sec_num2)
print(Sec_num3)
print(Sec_num4)
print(Th_num1)
print(mix_num1)
print(mix_num2)
print(mix_num3)




结果如下:


(2)赋值运算符

在编程中,除了基础的算术运算符外,=+=-=*=/=//=**=%= 等属于赋值类运算符,它们的核心作用是将右侧表达式的结果计算后赋给左侧的变量,从而简化代码书写。其中,= 是最基础的赋值运算符,用于直接赋予值;而 +=-=*=/=//=**=%= 则属于复合赋值运算符,它们等价于先对变量自身进行算术运算后再重新赋值,例如 x += 3 等同于 x = x + 3x **= 2 等同于 x = x ** 2。需要注意的是,//= 对应整除赋值,%= 对应取余赋值,它们同样遵循各自算术运算的规则(如负数向下取整、余数符号与除数一致)。此外,你列出的 ++ 和 -- 是自增和自减运算符,常见于 C、Java、JavaScript 等语言中,用于将变量增加或减少 1,但在 Python 中并不支持这种写法(Python 推荐使用 += 1 或 -= 1 代替)。关于 *** 和 //= 的重复写法(如 ***//= 出现两次),在实际标准语法中通常不成立——*** 并非有效运算符,而 //= 是合法的整除赋值运算符,重复列出可能是笔误或特定框架的扩展语法。总体而言,复合赋值运算符既能让代码更简洁,也能在一定程度上提升执行效率(因为变量只需被读取一次),但使用时需注意运算优先级——复合赋值右侧的表达式会先完整计算,再与左侧变量进行运算并赋值。这里给出实例代码,以便理解(仅供参考):

num = 100
print("num =", num)

num += 30
print("num += 30 →", num)

num -= 20
print("num -= 20 →", num)

num *= 2
print("num *= 2  →", num)

num /= 4
print("num /= 4  →", num)

a = 17
a //= 5
print("a //= 5   →", a)

b = -7
b //= 3
print("b //= 3   →", b)

c = 17
c %= 5
print("c %= 5    →", c)

d = -7
d %= 3
print("d %= 3    →", d)

x = 3
x **= 2
print("x **= 2   →", x)

score = 10
score += 1
print("score += 1 →", score)

total = 4
total *= 2 + 3
print("total *= 2 + 3 →", total)

结果如下:


(3)比较运算符

比较运算符用于比较两个值之间的关系,返回的结果是布尔值(True 或 False)。常用的比较运算符包括:==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。其中 == 用于判断值是否相等,而 = 是赋值运算符,两者容易混淆,需特别注意。比较运算符可以用于数字、字符串等各种数据类型,例如 5 > 3 返回 True"apple" == "banana" 返回 False。在程序中,比较运算符通常用于条件判断(如 if 语句)和循环控制,是构建程序逻辑的基础工具。实例代码(仅供参考):

a, b, c = 10, 20, 10
print("a=10, b=20, c=10")
print("a == b →", a == b)    # False
print("a == c →", a == c)    # True
print("a != b →", a != b)    # True
print("a > b  →", a > b)     # False
print("a < b  →", a < b)     # True
print("a >= c →", a >= c)    # True
print("a <= b →", a <= b)    # True

print("\n--- 字符串比较 ---")
print('"apple"=="banana" →', "apple" == "banana")   # False
print('"apple"=="apple"  →', "apple" == "apple")    # True
print('"123"==123        →', "123" == 123)          # False


(4)逻辑运算符

逻辑运算符用于连接多个条件,对布尔值进行逻辑运算,同样返回 True 或 False。主要包括:and(与)、or(或)、not(非)。and 要求所有条件都为 True 时结果才为 True,只要有一个为 False 就返回 Falseor 只要有一个条件为 True 结果就为 True,所有条件都为 False 时才返回 Falsenot 是单目运算符,用于取反,not True 得到 Falsenot False 得到 True。逻辑运算符具有短路特性and 左侧为 False 时不再计算右侧,or 左侧为 True 时不再计算右侧。逻辑运算符常用于组合多个比较条件,例如 age >= 18 and score >= 60 表示"成年且及格"。

print("\n--- 逻辑运算符 ---")
age, score, is_student = 20, 85, True
print("age=20, score=85, is_student=True")
print("age>=18 and score>=60 →", age >= 18 and score >= 60)   # True
print("age>=18 and score>=90 →", age >= 18 and score >= 90)   # False
print("age>=30 or score>=90  →", age >= 30 or score >= 90)    # False
print("age>=18 or score>=90  →", age >= 18 or score >= 90)    # True
print("not is_student        →", not is_student)              # False
print("not (age > 25)        →", not (age > 25))              # True

更多推荐