代码改变世界

6. Python运算符之算术、比较、赋值运算符

2019-02-14 09:24  软件测试汪  阅读(518)  评论(0编辑  收藏  举报

什么是运算符?举个简单的例子 4 +1 = 5 。 例子中,4 和 1 被称为操作数,"+" 和"="称为运算符。
工作中用到的运算符主要有以下几种:算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、成员运算符、身份运算符。

算术运算符

运算符 描述
  • |加
  • |减
  • |乘
    / |除
    % |取模 - 返回除法的余数
    ** |幂 - 返回x的y次幂
    // |整除- 返回商的整数部分
    我们使用加、减、乘、除、取模、幂、整除等进行运算,如下代码所示:
a = 5
b = 2
print(a + b, end=' ')
print(b + a, end=' ')
print(a - b, end=' ')
print(b - a, end=' ')
print(a * b, end=' ')
print(b * a, end=' ')
print(a / b, end=' ')
print(b / a, end=' ')
print(a % b, end=' ')
print(b % a, end=' ')
print(a ** b, end=' ')
print(b ** a, end=' ')
print(a // b, end=' ')
print(b // a, end=' ')

上面代码将输出如下内容:

7 7 3 -3 10 10 2.5 0.4 1 2 25 32 2 0

比较(关系)运算符

运算符 描述
== 等于
!= 不等于

|大于
< |小于
= |大于等于
<= |小于等于
我们使用等于、不等于、大于、小于、取大于等于、小于等于等进行运算,如下代码所示:

 a = 5
b = 2
c = 1
d = 0
print(a == b, end=' ')
print((a != b), end=' ')
print((a > b), end=' ')
print((a < b), end=' ')
print((a >= b), end=' ')
print((a <= b), end=' ')
print((bool(a)), end=' ')
print((bool(b)), end=' ')
print((bool(d)), end=' ')

上面代码将输出如下内容:

False True True False True False True True False

比较运算输出的结果为布尔值(bool),一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(Python对字母大小写敏感,请注意大小写)。通过上面我们可以发现,只有值为0时,bool类型为False,其余都为True。但其实并不是这样,当值为空时也会返回False,如下代码所示:

print((bool([])), end=' ')
print((bool({})), end=' ')
print((bool(())), end=' ')

上面代码将输出如下内容:

False False False

赋值运算符

运算符 描述 实例
= 赋值运算符 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

我们使用上面赋值运算符进行运算,如下代码所示:

a = 5
b = 2

c = a + b
print("c的值为:", c)

b += a
print("b的值为:", b)

b *= a
print("b 的值为:", b)

b /= a
print("b的值为:", b)

b %= a
print("b 的值为:", b)

b **= a
print("b 的值为:", b)

b //= a
print("b 的值为:", b)

上面代码将输出如下内容:

c的值为: 7
b的值为: 7
b 的值为: 35
b的值为: 7.0
b 的值为: 2.0
b 的值为: 32.0
b 的值为: 6.0

通过输出结果我们发现b的值一直是变化的。这是因为代码遵循从上到下执行原则,而b一直参与运算,所以b的值会一直改变。

欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560