Python3学习-运算符

算术运算符

运算符 描述 实例
+ 加 - 两个对象相加 a + b
- 减 - 得到负数,或是一个数减去另一个数 a - b
* 乘 - 两个数相乘,或是返回一个被重复若干次的字符串 a * b
/ 除 - x 除以 y a / b
% 取模 - 返回除法的余数 a % b
** 幂 - 返回x的y次幂 a ** b
// 取整除 - 向下取接近商的整数 >>> 9//2 4 >>> -9//2 -5

比较运算符

1
2
3
4
5
6
== :等于 
!= :不等于
> :大于
< :小于
>= :大于等于
<= :小于等于

赋值运算符

运算符 描述 实例
= 简单的赋值运算符 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
1
2
3
4
5
6
# 海象运算符,可在表达式内部为变量赋值。Python3.8 新增。
:=

# 示例中,赋值表达式可以避免调用 len() 两次:
if (n := len(a)) > 10:
print(f"List is too long ({n} elements, expected <= 10)")

逻辑运算符

1
2
3
and
or
not

成员运算符

1
2
in:如果在指定的序列中找到值返回 True,否则返回 False
not in:如果在指定的序列中没有找到值返回 True,否则返回 False

身份运算符

1
2
isis 是判断两个标识符是不是引用自一个对象
is notis not 是判断两个标识符是不是引用自不同对象

is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
a = 20
b = 20

if ( a is b ):
print ("1 - a 和 b 有相同的标识")
else:
print ("1 - a 和 b 没有相同的标识")

if ( id(a) == id(b) ):
print ("2 - a 和 b 有相同的标识")
else:
print ("2 - a 和 b 没有相同的标识")

# 修改变量 b 的值
b = 30
if ( a is b ):
print ("3 - a 和 b 有相同的标识")
else:
print ("3 - a 和 b 没有相同的标识")

if ( a is not b ):
print ("4 - a 和 b 没有相同的标识")
else:
print ("4 - a 和 b 有相同的标识")