Appearance
第5章:运算符与表达式
5.1 算术运算符
算术运算符是最基本的运算符,用于执行各种数学运算。
基础运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
+ | 加法 | 1 + 2 = 3 |
- | 减法 | 3 - 1 = 2 |
* | 乘法 | 2 * 3 = 6 |
/ | 除法 | 6 / 2 = 3.0 |
// | 整除 | 7 // 2 = 3 |
% | 取余 | 7 % 2 = 1 |
** | 幂运算 | 2 ** 3 = 8 |
实操:简单计算
让我们通过一些实际例子来理解算术运算符的使用。
python
# 计算年龄差
age1 = 25
age2 = 18
age_diff = age1 - age2
print(f"年龄差:{age_diff}岁")
# 计算商品总价
price = 99.9
quantity = 3
total = price * quantity
print(f"商品总价:{total}元")
# 计算平方数
number = 5
square = number ** 2
print(f"{number}的平方是:{square}")
# 计算平均值
scores = [85, 90, 95, 80, 75]
average = sum(scores) / len(scores)
print(f"平均分数:{average}")运行结果
年龄差:7岁
商品总价:299.7元
5的平方是:25
平均分数:85.0新手易错点
整除与除的区别:
//是整除,结果是整数;/是除法,结果是浮点数pythonprint(7 // 2) # 输出:3 print(7 / 2) # 输出:3.5取余运算的应用场景:取余运算常用于判断奇偶性、循环计数等
python# 判断奇偶性 number = 10 if number % 2 == 0: print("偶数") else: print("奇数")幂运算的语法:使用
**而不是^(^在Python中是按位异或运算符)pythonprint(2 ** 3) # 输出:8 print(2 ^ 3) # 输出:1(按位异或)
5.2 赋值运算符
赋值运算符用于将值赋给变量,除了基本的赋值操作外,还有复合赋值运算符。
基础赋值
- 语法:
= - 示例:python
x = 10
复合赋值
| 运算符 | 描述 | 等价于 |
|---|---|---|
+= | 加赋值 | x += 1 等价于 x = x + 1 |
-= | 减赋值 | x -= 1 等价于 x = x - 1 |
*= | 乘赋值 | x *= 2 等价于 x = x * 2 |
/= | 除赋值 | x /= 2 等价于 x = x / 2 |
//= | 整除赋值 | x //= 2 等价于 x = x // 2 |
%= | 取余赋值 | x %= 2 等价于 x = x % 2 |
**= | 幂赋值 | x **= 2 等价于 x = x ** 2 |
示例
python
# 使用复合赋值运算符
x = 10
print(f"初始值:x = {x}")
x += 5 # x = x + 5
print(f"x += 5 后:x = {x}")
x *= 2 # x = x * 2
print(f"x *= 2 后:x = {x}")
x -= 3 # x = x - 3
print(f"x -= 3 后:x = {x}")
x /= 4 # x = x / 4
print(f"x /= 4 后:x = {x}")运行结果
初始值:x = 10
x += 5 后:x = 15
x *= 2 后:x = 30
x -= 3 后:x = 27
x /= 4 后:x = 6.755.3 比较运算符
比较运算符用于比较两个值的关系,返回布尔值(True或False)。
核心运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
== | 等于 | 1 == 1 → True |
!= | 不等于 | 1 != 2 → True |
> | 大于 | 2 > 1 → True |
< | 小于 | 1 < 2 → True |
>= | 大于等于 | 2 >= 2 → True |
<= | 小于等于 | 1 <= 2 → True |
示例
python
# 比较两个数的大小
a = 10
b = 5
print(f"a == b: {a == b}")
print(f"a != b: {a != b}")
print(f"a > b: {a > b}")
print(f"a < b: {a < b}")
print(f"a >= b: {a >= b}")
print(f"a <= b: {a <= b}")
# 比较字符串
str1 = "apple"
str2 = "banana"
print(f"str1 == str2: {str1 == str2}")
print(f"str1 < str2: {str1 < str2}") # 按字典序比较运行结果
a == b: False
a != b: True
a > b: True
a < b: False
a >= b: True
a <= b: False
str1 == str2: False
str1 < str2: True5.4 逻辑运算符
逻辑运算符用于组合多个条件,返回布尔值。
核心运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
and | 并且 | True and False → False |
or | 或者 | True or False → True |
not | 非 | not True → False |
实操:多条件判断
python
# 判断年龄是否在18-30之间
age = 25
if age >= 18 and age <= 30:
print("年龄在18-30之间")
else:
print("年龄不在18-30之间")
# 判断是否为学生或教师
occupation = "学生"
if occupation == "学生" or occupation == "教师":
print("是学生或教师")
else:
print("不是学生或教师")
# 判断是否不是管理员
is_admin = False
if not is_admin:
print("不是管理员")
else:
print("是管理员")运行结果
年龄在18-30之间
是学生或教师
不是管理员新手易错点
逻辑运算符的优先级:
not>and>orpython# 等价于 (True and False) or True print(True and False or True) # 输出:True # 等价于 True and (False or True) print(True and (False or True)) # 输出:True多条件判断的逻辑顺序:合理安排条件顺序可以提高代码效率
python# 先判断简单条件,再判断复杂条件 if age > 0 and age < 120: # 执行操作
5.5 运算符优先级
当一个表达式包含多个运算符时,Python会按照一定的优先级顺序执行。
优先级从高到低
()括号**幂运算*,/,//,%乘、除、整除、取余+,-加、减>,<,>=,<=比较运算符==,!=等于、不等于not非and并且or或者=赋值运算符
示例
python
# 运算符优先级示例
result = 1 + 2 * 3 ** 2
print(f"1 + 2 * 3 ** 2 = {result}") # 先算幂,再算乘,最后算加
# 使用括号改变优先级
result = (1 + 2) * 3 ** 2
print(f"(1 + 2) * 3 ** 2 = {result}") # 先算括号内的加,再算幂,最后算乘运行结果
1 + 2 * 3 ** 2 = 19
(1 + 2) * 3 ** 2 = 27实操案例:编写简单计算器
让我们编写一个简单的计算器,实现加减乘除、取余、幂运算功能。
案例:简单计算器
python
"""
简单计算器
功能:实现加减乘除、取余、幂运算
"""
# 获取用户输入
num1 = float(input("请输入第一个数:"))
operator = input("请输入运算符(+, -, *, /, //, %, **):")
num2 = float(input("请输入第二个数:"))
# 根据运算符执行相应的运算
result = 0
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
if num2 != 0:
result = num1 / num2
else:
print("错误:除数不能为0")
exit()
elif operator == "//":
if num2 != 0:
result = num1 // num2
else:
print("错误:除数不能为0")
exit()
elif operator == "%":
if num2 != 0:
result = num1 % num2
else:
print("错误:除数不能为0")
exit()
elif operator == "**":
result = num1 ** num2
else:
print("错误:无效的运算符")
exit()
# 打印结果
print(f"{num1} {operator} {num2} = {result}")运行结果
请输入第一个数:5
请输入运算符(+, -, *, /, //, %, **):**
请输入第二个数:3
5.0 ** 3.0 = 125.0请输入第一个数:10
请输入运算符(+, -, *, /, //, %, **):/
请输入第二个数:3
10.0 / 3.0 = 3.3333333333333335通过这个案例,我们可以看到如何使用运算符和表达式来实现一个简单的计算器。运算符是Python编程的基础,掌握好运算符的使用对于编写复杂的程序非常重要。
