第3章:运算符
上一节我们学习了如何用变量存储不同类型的数据。现在,我们要对这些数据进行操作,比如加减乘除、比较大小、组合逻辑判断等。这些操作需要用到运算符。
1. 算术运算符
Python 支持常见的数学运算,使用的符号和我们平时数学课上学的很类似。
- 加 (
+
):result = 5 + 3 print(result) # 输出 8
- 减 (
-
):result = 10 - 4 print(result) # 输出 6
- 乘 (
*
):result = 6 * 7 print(result) # 输出 42
- 除 (
/
):result = 10 / 2 print(result) # 输出 5.0 (注意:除法结果总是浮点数) result = 10 / 3 print(result) # 输出 3.3333...
- 取模 (
%
): 计算除法的余数。remainder = 10 % 3 # 10 除以 3 等于 3 余 1 print(remainder) # 输出 1 is_even = 10 % 2 # 判断偶数常用方法:偶数除以2余数为0 print(is_even) # 输出 0
- 幂 (
**
): 计算一个数的几次方。power = 2 ** 3 # 2 的 3 次方 (2 * 2 * 2) print(power) # 输出 8 square = 5 ** 2 # 5 的平方 print(square) # 输出 25
- 整除 (
//
): 计算除法,但结果只取整数部分(向下取整)。result = 10 // 3 # 10 除以 3 等于 3.33...,只取整数部分 print(result) # 输出 3 result = 11 // 2 print(result) # 输出 5
2. 比较运算符
比较运算符用于比较两个值的大小或是否相等,其运算结果永远是布尔值 (True
或 False
)。这在后续的条件判断 (if
语句) 中非常重要。
- 等于 (
==
): 判断两个值是否相等。注意:是两个等号,一个等号 (=
) 是赋值!print(5 == 5) # 输出 True print(5 == 3) # 输出 False print("hello" == "hello") # 输出 True print("Hello" == "hello") # 输出 False (大小写敏感)
- 不等于 (
!=
): 判断两个值是否不相等。print(5 != 3) # 输出 True print(5 != 5) # 输出 False print("apple" != "orange") # 输出 True
- 大于 (
>
):print(10 > 5) # 输出 True print(5 > 10) # 输出 False print(5 > 5) # 输出 False
- 小于 (
<
):print(3 < 8) # 输出 True print(8 < 3) # 输出 False print(8 < 8) # 输出 False
- 大于等于 (
>=
):print(10 >= 5) # 输出 True print(5 >= 5) # 输出 True print(3 >= 5) # 输出 False
- 小于等于 (
<=
):print(3 <= 8) # 输出 True print(8 <= 8) # 输出 True print(10 <= 8) # 输出 False
3. 逻辑运算符
逻辑运算符用于连接或修改布尔值 (True
/ False
),构建更复杂的条件判断。
- 与 (
and
): 只有当两边的条件都为True
时,结果才为True
;否则为False
。age = 25 is_student = True print(age > 18 and is_student == True) # True and True -> True print(age < 30 and is_student == False) # True and False -> False print(age < 18 and is_student == True) # False and True -> False
- 或 (
or
): 只要当两边的条件有至少一个为True
时,结果就为True
;只有两边都为False
时才为False
。score = 80 has_vip_card = False print(score >= 60 or has_vip_card == True) # True or False -> True print(score < 60 or has_vip_card == True) # False or True -> True print(score < 60 or has_vip_card == False) # False or False -> False
- 非 (
not
): 对一个布尔值取反。not True
结果是False
,not False
结果是True
。is_raining = False print(not is_raining) # not False -> True is_logged_in = True print(not is_logged_in) # not True -> False
运算优先级: 通常,not
的优先级最高,然后是 and
,最后是 or
。可以使用括号 ()
来明确指定运算顺序,就像数学运算一样。
print(True or False and False) # 先算 and: True or False -> True
print((True or False) and False) # 先算 or: True and False -> False
4. 赋值运算符
我们已经知道 =
是赋值运算符。Python 还提供了一些复合赋值运算符,可以简化代码。
a = a + 1
可以简写为a += 1
b = b - 5
可以简写为b -= 5
c = c * 2
可以简写为c *= 2
d = d / 4
可以简写为d /= 4
e = e % 3
可以简写为e %= 3
f = f ** 2
可以简写为f **= 2
g = g // 10
可以简写为g //= 10
示例:
count = 0
count += 1 # count 现在是 1
print(count)
price = 100
price *= 0.8 # 打八折,price 现在是 80.0
print(price)
这些复合赋值运算符让代码更简洁。
5. 练习
- 计算
(100 + 50) * 2
的结果。 - 判断
100
是否大于50 * 2
。 - 判断
20
是否既是偶数 (20 % 2 == 0
) 又小于30
。 - 有一个变量
score = 75
,判断它是否大于等于60
或者小于10
。 - 使用复合赋值运算符,将变量
total = 10
的值增加5
,然后乘以3
。
掌握了这些基础运算符,我们就能对数据进行各种计算和比较了。下一章我们将学习如何存储一系列的数据,即列表和字典。