跳转至

运算符与表达式

Python中运算符分为:

  1. 算术运算符:主要用于两个对象算数计算(加减乘除等运算)
  2. 比较(关系)运算符:用于两个对象比较(判断是否相等、大于等运算)
  3. 赋值运算符:用于对象的赋值,将运算符右边的值(或计算结果)赋给运算符左边。
  4. 逻辑运算符:用于逻辑运算(与或非等)。
  5. 位运算符: 对Python对象进行按照存储的bit操作。
  6. 成员运算符:判断一个对象是否包含另一个对象。
  7. 身份运算符:判断是不是引用自一个对象

目前你只需要掌握 算术运算符比较运算符赋值运算符逻辑运算符 即可。


算术运算符

算术运算符跟你学的数学别无二致,请看下图

以下假设变量a为10,变量b为20:

运算符 描述 实例
+ 加 - 两个对象相加 a + b 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2
% 取模 - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
// 取整除 - 返回商的整数部分(向下取整) 9//2 输出结果为 4

比较运算符

比较运算符也是你学过的数学,请看下图

以下假设变量a为10,变量b为20:

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true
<> 不等于 - 比较两个对象是否不相等 (a != b) 返回 true
> 大于 - 返回x是否大于y (a > b) 返回 False
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 (a < b) 返回 true
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true

赋值运算符

以下假设变量a为10,变量b为20:

运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值 (a and b) 返回 20
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值 (a or b) 返回 10
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True not(a and b) 返回 False

表达式

案例(将其保存为 expression.py):

length = 5
breadth = 2

area = length * breadth
print('Area is', area)
print('Perimeter is', 2 * (length + breadth))

输出:

$ python expression.py
Area is 10
Perimeter is 14

它是如何工作的

矩形的长度(Length)与宽度(Breadth)存储在以各自名称命名的变量中。我们使用它们并借助表达式来计算矩形的面积(Area)与周长(Perimeter)。我们将表达式 length * breadth 的结果存储在变量 area 中并将其通过使用 print 函数打印出来。在第二种情况中,我们直接在 print 函数中使用了表达式 2 * (length + breadth) 的值。

同时,你需要注意到 Python是如何 漂亮地打印出 输出结果的。尽管我们没有特别在 Area is 和变量 area 之间指定空格,Python 会帮我们加上所以我们就能得到一个整洁的输出结果,同时程序也因为这样的处理方式而变得更加易读(因为我们不需要在用以输出的字符串中考虑空格问题)。这便是一个 Python 是如何让程序员的生活变得更加便捷美好的范例。