Python基础学习(八):表达式

表达式是 Python 编程中的基本构建块,它由一个或多个操作数和运算符组成,用于计算并返回一个值。本文将详细介绍 Python 中的各类表达式及其用法,帮助你更好地理解和掌握。


1. 算术表达式

算术表达式用于执行数学运算,常见的运算符包括加法、减法、乘法、除法等。

a = 5
b = 3
result = a + b  # 加法
result = a / b  # 除法
result = a // b  # 地板除
result = a % b  # 取余
result = a ** b  # 幂运算

2. 比较表达式

比较表达式用于比较两个值,返回布尔值 True 或 False

a = 5
b = 3
result = a > b  # 大于
result = a <= b  # 小于等于

3. 逻辑表达式

逻辑表达式用于连接布尔值,返回布尔值 True 或 False

a = True
b = False
result = a and b  # 逻辑与
result = a or b  # 逻辑或
result = not a  # 逻辑非

4. 赋值表达式

赋值表达式用于将一个值赋给一个变量。

a = 5  # 赋值表达式
b = a + 3  # 计算并赋值

海象运算符(Python 3.8+)

海象运算符(:=)允许在表达式中直接给变量赋值。

n = len(data)  # 先计算长度并赋值给n
if n > 10:  # 使用n进行条件判断
    print(f"列表长度大于10,长度为{n}")

# 使用海象表达式
if (n := len(data)) > 10:  # 给n赋值并使用
    print(f"列表长度大于10,长度为{n}")


5. 成员表达式

成员表达式用于检查一个值是否在序列、集合或字典中。

a = [1, 2, 3]
result = 2 in a  # 检查2是否在列表a中
result = 4 not in a  # 检查4是否不在列表a中

6. 身份表达式

身份表达式用于比较两个对象的身份(即是否是同一个对象),返回布尔值。

a = [1, 2]
b = a
result = a is b  # 判断a和b是否是同一个对象
result = a is not b  # 判断a和b是否不是同一个对象

7. 三元表达式

三元表达式是简化的 if-else 表达式,根据条件选择两个值之一。

a = 5
b = 3
result = a if a > b else b  # 如果a > b,result为a,否则为b

8. 函数调用表达式

函数调用表达式用于调用函数并返回结果。

def add(x, y):
    return x + y

result = add(5, 3)  # 函数调用表达式

9. 推导式

推导式是 Python 特有的一种表达式形式,用于简洁地创建列表、字典和集合。

9.1 列表推导式

a = [1, 2, 3, 4]
result = [x * 2 for x in a]  # 创建一个新列表,元素是原列表每个元素的两倍

9.2 字典推导式

a = ['a', 'b', 'c']
result = {x: ord(x) for x in a}  # 创建一个字典,将字母映射到对应的ASCII值

9.3 集合推导式

a = [1, 2, 3, 4]
result = {x * 2 for x in a}  # 创建一个集合,元素是原列表每个元素的两倍

9.4 练习

生成1—10之间的数字,将其平方存入list01中。
将list01中所有偶数存入list02中。
将list01中所有大于5的奇数增加1后存入list03中。
要求都用列表推导式

list01 = [x ** 2 for x in range(1, 11)]
list02 = [x for x in list01 if x % 2 == 0]
list03 = [x + 1 for x in list01 if x > 5 and x % 2 != 0]

10. Lambda表达式

Lambda表达式用于创建小型、一次性的匿名函数。

f = lambda x, y: x + y  # 创建一个匿名函数
result = f(2, 3)  # 调用匿名函数

11. 生成器表达式

生成器表达式类似于列表推导式,但返回的是一个生成器对象,而不是一个完整的列表。

a = [1, 2, 3, 4]
result = (x * 2 for x in a)  # 创建一个生成器,元素是原列表每个元素的两倍

12. 调用运算符 ()

圆括号用于控制运算顺序或在函数调用时传递参数。

result = (5 + 3) * 2  # 使用括号改变运算顺序

13. 表达式的求值顺序

Python 中的表达式按照运算符优先级规则求值。运算符优先级的规则决定了不同类型的运算在计算时的顺序。


14. 总结

  • 算术表达式:用于数学运算。

  • 比较表达式:用于比较值。

  • 逻辑表达式:用于布尔运算。

  • 赋值表达式:用于变量赋值。

  • 成员表达式:用于检查值是否在序列中。

  • 身份表达式:用于比较对象内存地址。

  • 三元表达式:简化条件判断。

  • 推导式:用于简洁地创建列表、字典和集合。

  • Lambda表达式:用于创建匿名函数。

  • 生成器表达式:用于创建生成器对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值