一、表达式基础概念
**表达式(Expression)是Python编程中最基本的代码单元,其核心特征是能够通过运算产生一个具体的值。与执行操作的语句(Statement)**不同,表达式更关注值的生成。例如3 + 4
是一个表达式,而x = 3 + 4
则是包含表达式的赋值语句。
1.1 算术表达式
# 基础运算符
print(7 + 3) # 加法 → 10
print(10 - 2.5) # 减法 → 7.5
print(4 * 5) # 乘法 → 20
print(15 / 4) # 真除法 → 3.75
print(15 // 4) # 整除 → 3
print(15 % 4) # 取模 → 3
print(2 ** 3) # 幂运算 → 8
# 变量参与运算
radius = 5
area = 3.14159 * radius ** 2
1.2 比较表达式
print(5 > 3) # True
print(5 == 3) # False
print('a' < 'b') # 字符比较(ASCII码)→ True
# 链式比较
x = 15
print(10 <= x <= 20) # True
1.3 逻辑表达式
# 基础逻辑运算
print(True and False) # False
print(True or False) # True
print(not True) # False
# 短路特性演示
def check():
print("函数被调用")
return True
print(False and check()) # 短路发生,check()不会执行
1.4 成员测试
fruits = ['apple', 'banana', 'orange']
print('pear' in fruits) # False
print('apple' not in fruits) # False
# 字符串成员测试
print('th' in 'python') # True
二、运算符优先级详解
2.1 优先级金字塔
从高到低排列:
-
()
括号 -
**
幂运算 -
*
/
//
%
-
+
-
-
<
<=
>
>=
==
!=
-
not
→and
→or
2.2 优先级示例分析
result = 5 + 3 * 2 ** 2 # 等价于5 + (3*(2**2)) → 17
compare = 10 < 20 and 5 > 3 # → True and True → True
三、类型处理技巧
3.1 类型转换实战
# 错误示例
# print("圆周率:" + 3.14159) # 报错
# 正确转换
print("圆周率:" + str(3.14159)) # 使用str()
print(f"结果:{5+3}") # f-string格式化
# 类型转换函数
int('123') # → 123
float('3.14') # → 3.14
str(True) # → 'True'
3.2 布尔值本质
print(bool(0)) # False
print(bool('')) # False
print(bool([])) # False
print(bool(-1)) # True
print(bool('0')) # True
四、常见错误排查
4.1 典型错误案例
# 1. 运算符遗漏
# x = 5 3 → SyntaxError
# 2. 浮点数陷阱
print(0.1 + 0.2 == 0.3) # False → 浮点精度问题
# 3. 链式比较错误
# 5 < 10 < 15 → 正确写法
# 5 < (10 < 15) → 实际比较5 < True → 5 < 1 → False
# 4. 优先级混淆
print(not True == False) # → not (True == False) → True
4.2 调试建议
-
使用print()输出中间结果
-
复杂表达式分步计算
-
善用括号明确优先级
五、高效实践技巧
- 表达式嵌套:合理组合表达式
# 计算体脂率
weight = 70 # 公斤
height = 1.75 # 米
age = 30
body_fat = (1.2 * weight / (height ** 2)) + (0.23 * age) - 5.4
- 海象运算符(Python 3.8+)
if (n := len(items)) > 10:
print(f"列表过长,包含{n}个元素")
- 生成器表达式
sum(x**2 for x in range(10) if x % 2 == 0)
六、学习路线建议
-
掌握基础运算符优先级
-
熟练使用类型转换
-
理解布尔值的判断逻辑
-
通过实际项目练习表达式组合
表达式如同编程语言的词汇,熟练掌握后,您将能编写出更优雅、高效的Python代码。建议在交互式环境(如Jupyter Notebook)中多加实践,观察不同表达式的输出结果。