03.Python之路 - Python运算符

Python运算符

Python支持以下运算符

算数运算符

以下假设变量: 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

比较运算符

运算符 描述 实例
== 等于 (10 == 20)返回Flase
!= 不等于 (10 != 20)返回True
> 大于 (10 > 20)返回Flase
< 小于 (10 < 20)返回True
>= 大于等于 (10 >= 20)返回Flase
<= 小于等于 (10 <= 20)返回True

例如:

1
2
3
4
5
6
7
8
9
a = 10
b = 20

print(a == b)
print(a < b)
print(a > b)
print(a != b)
print(a >= b)
print(a <= b)

执行结果:

1
2
3
4
5
6
False
True
False
True
False
True

python赋值运算符

运算符 描述 实例
= 简单的赋值运算符 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逻辑运算符

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

代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a = 10
b = 20

print(a and b)
print(a or b)
print(not a)
print(not (a and b))
print(not (a or b))

a=0
print("#######################")
print(a and b)
print(a or b)
print(not a)
print(not (a and b))
print(not (a or b))

执行结果

1
2
3
4
5
6
7
8
9
10
11
20  #由于a为tru.则返回y
10 # 由于a为true, 则返回a
False #a为true,返回false
False #a and b的结果是20,为true.所以返回false
False #a or b的结果是10,为true.所以返回false
#######################
0
20
True
True
False

Python成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

代码示例:

1
2
3
4
5
6
7
8
9
10
#成员运算符

a="abc"
b="abcdsdfwe"

print(a in b)

a="abd"
b="abcdefg"
print(a in b)

执行结果:

1
2
True
False

Python身份运算符

身份运算符用于比较两个对象的存储单元

运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

id() 函数用于获取对象内存地址。

代码示例:

1
2
3
4
5
6
7
8
a = 10
b = 20

print (a is b)

b = 10

print (a is b)

执行结果

1
2
False
True

通过id函数可以看到a和b变量的内存地址

代码示例:

1
2
3
4
5
a = 10
b = 10

print(id(a))
print(id(b))

执行结果

1
2
140190848944752
140190848944752

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。

代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# is 和 ==的区别

print "#####下面这个情况,b和a指向同样的内存地址空间#########"
a = [1,2,3]
b = a
print (a == b)
print(a is b)

print "#########下面这2种情况,虽然b和a的值完全一样,但是不是同一个内存地址空间########"
a = [1,2,3]
b = [1,2,3]

print (a == b)
print(a is b)

print "#########下面这种情况也是一样########"
b=a[:]
print b
print(a == b)
print(a is b)

执行结果:

1
2
3
4
5
6
7
8
9
10
#####下面这个情况,b和a指向同样的内存地址空间#########
True
True
#########下面这2种情况,虽然b和a的值完全一样,但是不是同一个内存地址空间########
True
False
#########下面这种情况也是一样########
[1, 2, 3]
True
False

本文标题:03.Python之路 - Python运算符

文章作者:Jesse

发布时间:2020年05月27日 - 22:05

最后更新:2020年06月30日 - 20:06

原始链接:https://jesse.top/2020/05/27/python/01-basic/03-Python之路-运算符/

许可协议: 禁止商业用途 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!