运算符,简单学!

📅 2026/7/10 2:32:02 👁️ 阅读次数 📝 编程学习
运算符,简单学!

运算符

算术运算符:数学课代表,但有点“皮”

Python的算术运算符,就是咱们小学就学过的加减乘除,不过在代码世界里,它们穿上了“马甲”。

加减乘除:+-*/,老熟人了

a = 10
b = 3

print(a + b) 13, 加法
print(a - b) 7, 减法
print(a * b) 30, 乘法
print(a / b) 3.333...,除法
```

但是!"**"这里有两个“显眼包”:这个臭小飞跟臭巴哥

幂运算:"**" 比如 `2 ** 3` 结果是 `8`。你可以把它想象成“超级加倍”,`a**b` 就是 b个a相乘。
//(整除) 和 “%” (取模/取余): 这俩是“好基友”。

//” 负责“分蛋糕”:“ 10 // 3 ” 结果是 “ 3 ”。它只关心每个人能分到几块完整的蛋糕,掉地上的 crumbs(碎屑)它不管。

%” 负责捡 crumbs:10 % 3 结果是 1。它专门收集“ // ”分完后剩下的那些“碎屑”。

所以,`10 ÷ 3 = 3 ... 1` 在Python里就是:

print(10 // 3, 10 % 3) # 输出:3 1

既然是算数就会有优先级,和我们小学学的差不多,先算乘除,再算加减,有小括号先算小括号。

比较运算符:一群“裁判”,眼里容不得沙子

比较运算符专门负责“比大小”、“判相等”,返回值不是 True`就是 False。它们是一群严格的裁判。


x = 5
y = 10

print(x == y) # False,等于吗?不,你 x 不配。
print(x != y) # True,不等于吗?是的,我们不一样。
print(x > y) # False,你(x)比我(y)大?想多了。
print(x < y) # True,你(x)比我(y)小?乖。
print(x >= 5) # True,大于等于5吗?是的,刚好踩线及格。
print(y<=10) # True,小于等于10吗?是的,满分也是优秀。
```

**冷知识**:在Python里,你可以玩“链式比较”,像 `1 < x < 10` 这种写法是合法的,而且很直观!裁判们表示可以组团执法。

赋值运算符:懒人福音,“能省则省”

基础的赋值大家都会。但Python有一群“赋值运算符Plus”,它们的目标是:少写代码,多摸鱼。
count = 5
# 传统青年写法
count = count + 2 # count 变成 7
# 懒人(Pythonic)写法
count += 2 # 同上,但更装叉,读作“count加等于2”

同理,你还有-=,*=,/=,//=,%=,**=。它们就是把 count = count 运算符 2 浓缩成了 count [运算符]= 2。

灵魂拷问:a += b 和 a = a + b完全一样吗?
对于数字、字符串等不可变类型,是的。但对于列表等可变类型,+= (__iadd__) 可能直接在原列表上修改,而 a = a + b(__add__) 会创建一个新列表。这是后话,但记住这个点!

逻辑运算符:逻辑大师,专治“选择困难症”

当你的程序需要做判断时,`and`, `or`, `not` 就该登场了。

and(与):

两边都为 `True`,结果才是 `True`。像极了“既要…又要…”。

has_money = True
has_time = True
can_play_game = has_money and has_time # True,有钱有闲,开玩!

or(或):

只要有一边为 `True`,结果就是 `True`。像极了“或者…或者…都行”。
```python
is_weekend = False
is_holiday = True
can_sleep_late = is_weekend or is_holiday # True,放假就能睡懒觉!

not(非):

取反。`True` 变 `False`,`False` 变 `True`。像极了“唱反调”。
is_raining = True

这些不仅能提高效率,还能用来写一些优雅的代码,比如:
name = input("请输入你的名字:") or "匿名用户"
如果用户直接回车(空字符串,在逻辑判断里是False),name 就会是“匿名用户”。妙啊!

逻辑运算符也是有优先级的

可以自己测试一下:

print(True or False and False) # True

print ((True or False) and False)#False

print (True or (False and False)) # True

so and优先级大于or的优先级

位运算符:与硬件对话的“神秘代码”

位运算符直接操作整数的二进制位。它们通常用在底层开发、性能优化或一些特定算法中。了解一下,显得你很“硬核”。
a = 60 # 二进制:0011 1100
b = 13 # 二进制:0000 1101

print(a&b) # 12 (0000 1100) - 按位与,两位都为1才是1
print(a|b) # 61 (0011 1101) - 按位或,有一位为1就是1
print(a^b) # 49 (0011 0001) - 按位异或,两位不同则为1
print(~a) # -61 (1100 0011) - 按位取反,0变1,1变0(注意补码表示)

总结一下

Python的运算符就像一群性格各异的工具人:
**算术运算符**: 实干家,负责计算。
**比较运算符**: 裁判员,负责评判。
**赋值运算符**: 小秘书,负责记账。
**逻辑运算符**: 决策者,负责选择。
**位运算符** : 极客,负责处理二进制“魔法”。

用好它们,你的代码就能像讲段子一样,既逻辑清晰,又幽默风趣。最后记住最吊的一招:不确定谁先算?赶紧加括号!简单无脑!

现在,就去用这些运算符,让你的Python代码“算”起来吧!