【编程基础之Python】11、Python中的表达式

  • Python中的表达式
    • 表达式与运算符
    • 算术表达式
    • 赋值表达式
    • 比较表达式
    • 逻辑表达式
    • 位运算表达式
  • 总结

Python中的表达式

在Python中,表达式是由操作数、运算符和函数调用等组成的语法结构,可以进行各种数学运算、逻辑判断、字符串操作等。表达式可以被解释器求值,其结果可以赋值给变量、作为函数参数等。

Python中常见的表达式类型有算术表达式、赋值表达式、比较表达式、逻辑表达式和位运算表达式等。

表达式与运算符

表达式是由操作数和运算符组成,可以被求值为一个值或对象。而运算符则是用于执行运算的特殊符号或关键字,是表达式的一部分。

表达式和运算符之间存在密切的联系。表达式中的操作数通过运算符来进行各种操作,从而得到一个新的值或对象。运算符可以分为多种类型,如算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符等,每种类型的运算符都有其特定的运算规则。与运算符相对应,表达式就有算术表达式、赋值表达式、比较表达式、逻辑表达式和位运算表达式等。

表达式中的操作数可以是字面量、变量、函数调用等。字面量可以包括整数、浮点数、复数、字符串、布尔值、None等。变量则是用于存储值的标识符,可以在程序中被赋值和修改。函数调用是指通过函数名和参数列表来调用函数,并返回函数的返回值。

表达式和运算符在Python中都有其特定的语法和优先级。Python的语法规则定义了如何构造合法的表达式,并指定了各种运算符的优先级和结合性。优先级指定了哪些运算符优先级较高,应该先进行计算,而结合性指定了在表达式中具有相同优先级的运算符应该如何结合。

虽然表达式和运算符紧密相连,但它们的含义却是不同的。表达式是用来计算和返回一个值的,而运算符则是指示表达式中各个值之间的关系的符号。比如,对于表达式3 + 4,其运算符为+,表达式的值为7。而对于运算符+本身,它并不具有任何计算能力,它只是用来指示3和4之间的加法运算的。

算术表达式

算术表达式用于执行数学运算,包括加、减、乘、除和取模等。算术表达式对应于Python中的算术运算符,以下是Python支持的算术表达式:

  • 加法表达式(a + b):用于两个数字或字符串的相加。
  • 减法表达式(a – b):用于两个数字的相减。
  • 乘法表达式(a * b):用于两个数字相乘。
  • 除法表达式(a / b):用于两个数字的相除,结果为浮点数。
  • 整除表达式(a // b):用于两个数字的整除,结果为整数。
  • 取模表达式(a % b):用于两个数字的取模操作,即返回两个数相除的余数。
  • 指数表达式(a ** b):用于求一个数值的某次幂。
运算符表达式示例
+a + b3 + 4 = 7
a – b7 – 3 = 4
*a * b3 * 4 = 12
/a / b7 / 3 = 2.33333…
//a // b7 // 3 = 2
%a % b7 % 3 = 1
**a ** b2 ** 3 = 8

以下是算术表达式的案例:

x = 10y = 3print(x + y)   # 输出 13print(x - y)   # 输出 7print(x * y)   # 输出 30print(x / y)   # 输出 3.3333333333333335print(x // y)  # 输出 3print(x % y)   # 输出 1print(x ** y)  # 输出 1000

赋值表达式

赋值表达式用于将值赋给变量,包括简单赋值、加等于赋值、减等于赋值、乘等于赋值、除等于赋值、取模等于赋值、幂等于赋值、整除等于赋值等。赋值运算符用于给变量或者表达式赋值。以下是一些常见的赋值表达式及其使用方法:

  • 简单赋值表达式(a = b):用于将b赋给a。
  • 加等于赋值表达式(a += b):用于将a的值加上b的值,并将结果赋给a。
  • 减等于赋值表达式(a -= b):用于将a的值减去b的值,并将结果赋给a。
  • 乘等于赋值表达式(a *= b):用于将a的值乘以b的值,并将结果赋给a。
  • 除等于赋值表达式(a /= b):用于将a的值除以b的值,并将结果赋给a。
  • 取模等于赋值表达式(a %= b):用于将a的值对b的值取模,并将结果赋给a。
  • 幂等于赋值表达式(a **= b):用于将a的值与b的值进行幂运算,并将结果赋给a。
  • 整除等于赋值表达式(a //= b):用于将a的值整除b的值,并将结果赋给a。

以下是赋值表达式的案例:

a = 10   # 简单赋值print(a)a += 5   # 加等于赋值,等同于 a = a + 5print(a)a -= 3   # 减等于赋值,等同于 a = a - 3print(a)a *= 2   # 乘等于赋值,等同于 a = a * 2print(a)a /= 4   # 除等于赋值,等同于 a = a / 4print(a)a **= 3  # 幂等于赋值,等同于 a = a ** 3print(a)a //= 2  # 整除等于赋值,等同于 a = a // 2print(a)a %= 2   # 取模等于赋值,等同于 a = a % 2print(a)

比较表达式

比较表达式用于比较两个操作数的大小关系,返回True或False。比较表达式使用比较运算符比较两个值。以下是Python支持的比较表达式:

  • 等于表达式(a == b):用于检查a和b是否相等,如果相等则返回 True,否则返回 False
  • 不等于表达式(a != b):用于检查a和b是否不相等,如果不相等则返回 True,否则返回 False
  • 大于表达式(a > b):用于检查a的值是否大于b的值,如果是则返回 True,否则返回 False
  • 小于表达式(a < b):用于检查a的值是否小于b的值,如果是则返回 True,否则返回 False
  • 大于等于表达式(a >= b):用于检查a的值是否大于或等于b的值,如果是则返回 True,否则返回 False
  • 小于等于表达式(a <= b):用于检查a的值是否小于或等于b的值,如果是则返回 True,否则返回 False

以下是比较表达式的案例:

x = 10y = 3print(x == y)   # 输出 Falseprint(x != y)   # 输出 Trueprint(x > y)    # 输出 Trueprint(x < y)    # 输出 Falseprint(x >= y)   # 输出 Trueprint(x <= y)   # 输出 False

逻辑表达式

逻辑表达式用于将多个条件组合在一起,返回True或False。逻辑表达式使用逻辑运算符比较两个或多个表达式的布尔值。以下是Python支持的逻辑表达式:

  • 逻辑与表达式(a and b):用于检查a和b是否都为True
  • 逻辑或表达式(a or b):用于检查a和b是否至少有一个为True
  • 逻辑非表达式(not b):用于对b的值取反,如果b为 False,则返回 True,否则返回 False

以下是逻辑表达式的案例:

x = 5y = 3z = 7print(x > y and z > x)  # 输出 Trueprint(x < y or z < x)   # 输出 Falseprint(not x < y)        # 输出 True

位运算表达式

位运算表达式用于对二进制数进行操作的运算表达式,包括按位与、按位或、按位异或、按位取反等,适用于整数类型数据。下面是Python中的位运算表达式:

  • 按位与运算表达式(a & b):参与运算的两个数,对应的二进制位上如果都是1,结果为1,否则为0。
  • 按位或运算表达式(a | b):参与运算的两个数,对应的二进制位上如果有一个是1,结果为1,否则为0。
  • 按位异或运算表达式(a ^ b):参与运算的两个数,对应的二进制位上如果只有一个是1,结果为1,否则为0。
  • 按位取反运算表达式(~ b):对参与运算的数的二进制位按位取反,0变为1,1变为0。
  • 左移运算表达式(a << b):将参与运算的数的二进制位向左移动指定的位数,左移后低位补0。
  • 右移运算表达式(a >> b):将参与运算的数的二进制位向右移动指定的位数,右移后高位补0或补1。

以下是位运算表达式的案例:

a = 60b = 13print(a & b)   # 输出12print(a | b)   # 输出61print(a ^ b)   # 输出49print(~a)      # 输出-61print(a << 2)  # 输出240print(a >> 2)  # 输出15

总结

本文介绍了Python中常见的表达式。

在Python中,表达式(Expression)是由一系列值和操作符组合而成的代码结构,其可以用来计算和返回一个值。表达式是Python中最基本的计算单位,每个表达式都是一条语句,其会被解释器解析并计算出其结果。表达式与运算符密不可分,表达式中必然涉及到运算符,而运算符则用来指示表达式中各个值之间的关系。

运算符是表达式的组成部分之一,其用来连接表达式中的各个值,并指示它们之间的计算方式。表达式则是由运算符和值组成的,它用来描述一个具有计算结果的计算式。因此,表达式和运算符是密切相关的,二者相辅相成,共同构成Python中的计算体系。