前几章小会讲解了字符串、数据类型,今天我们来学习一下运算符。运算符就好比一颗颗螺丝,将各种单独的零件连接起来,最终得到一个完整的产品。
运算符的分类
python运算符包括算数运算符、比较运算符、逻辑运算符、赋值运算符、位运算符、成员运算符、身份运算符、运算符优先级。
简单的举例:6+8=14。例子中,6和8被称为操作数,“+”号为运算符。
1)算术运算符
算术运算符就是数学运算中学到的那些加减乘除运算。通常来说它们的操作对象基本都是数字类型。
常用算术运算符如下: (假设变量a为10,变量b为20)
代码运算实例如下:
num1 = 10,num2 = 20
# +运算符
sum = num1 + num2
#-运算符
diff = num2 - num1
#*运算符
product = num1 * num2
# /运算符,注意被除数不能为0,否则抛异常
business = num1 / num2
# %运算符
remainder = num1 % num2
2)比较运算符
比较运算符就是用来比较两个操作对象的大小关系的,比较特别的是,不仅可以比较数字,字符串也是可以比较大小的。因为每个字符都是ascii码,因此可以通过它比较大小。
常用比较运算符如下: (假设变量a为10,变量b为20)
代码运算实例如下:
a = 21
b = 10
c = 0
if ( a == b ):
print "1 - a 等于 b"
else:
print "1 - a 不等于 b"
if ( a != b ):
print "2 - a 不等于 b"
else:
print "2 - a 等于 b"
if ( a <> b ):
print "3 - a 不等于 b"
else:
print "3 - a 等于 b"
if ( a < b ):
print "4 - a 小于 b"
else:
print "4 - a 大于等于 b"
if ( a > b ):
print "5 - a 大于 b"
else:
print "5 - a 小于等于 b"
# 修改变量 a 和 b 的值
a = 5;
b = 20;
if ( a <= b ):
print "6 - a 小于等于 b"
else:
print "6 - a 大于 b"
if ( b >= a ):
print "7 - b 大于等于 a"
else:
print "7 - b 小于 a"
以上实例输出结果:
1 - a 不等于 b
2 - a 不等于 b
3 - a 不等于 b
4 - a 大于等于 b
5 - a 大于 b
6 - a 小于等于 b
7 - b 大于等于 a
3)赋值运算符
赋值运算符是先运算再赋值的意思。一般来说就是先对右操作数和左操作数进行运算,然后把运算结果赋值给左操作数。
比如:
a = 10
b = 20
a += b
就是先计算10+20得到30,再把30赋值给a变量。
常用赋值运算符如下: (假设变量a为10,变量b为20)
至于它们的用法都是类似的,上面已经给出一个+=运算符的使用方法,其它运算符就留给大家举一反三了。
4)位运算符
位运算符就是对操作对象进行二进制运算,它执行的时候,首先会把对应的操作数转换成相应的二进制操作数,然后再对二进制操作数进行位运算。
但小会认为位运算符属于进阶学习,本系列文章目的是带大家入门,因此这里就暂且不提。大致了解一下运算符号即可,对于初学者来说,知道python也是可以进行二进制运算的就行,以后有实际需要再对二进制运算进行补充学习。
5)逻辑运算符
逻辑运算符就是离散数学中的且、否、或这几个操作,分别对应的字母是and、not、or。其中and和or是双目运算发,not是单目运算符,并且and和or都是短路运算符。
短路运算符的意思是,只有当第一个运算数的值无法确定逻辑运算的结果时,才对第二个运算数进行求值。例如,当AND的第一个运算数的值为false时,其结果必定为false;当OR的第一个运算数为true时,最后结果必定为true,在这种情况下,就不需要知道第二个运算数的具体值。
同时要注意的一点是,逻辑运算符它返回的结果不是布尔值,除非你的操作数是布尔值。实际上它返回的是决定操作结果的操作数。又因为,在python中,除了0、None、False是假,其它都是真值,因此可以通过判断操作数的值来判断整个表达式的真假。
逻辑运算符如下: (假设变量a为10,变量b为20)
举个例子:
# 逻辑运算符
num_1 = 0
num_2 = -1
# num1 and num2因为num1是0所以整个表达式就是False,因此返回的是决定整个表达式的因子num_1
print("对num_1和num_2进行and运算,得到:{0}".format(num_1 and num_2))
# not 就是取反的意思
if not num_1:
print("num_1是0,因此它是假值。所以not num_1变成真值")
输出结果:
对num_1和num_2进行and运算,得到:0
num_1是0,因此它是假值。所以not num_1变成真值
6)成员运算符
成员运算符就是用来判断元素是否为某个组合元素的一员的运算符。通常的做法是,判断某个数字或者某个字符串是否为某个元组或者列表字典里面的一员。
成员运算符很简单,就两个,分别是:
实例如下:
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
print "1 - 变量 a 在给定的列表中 list 中"
else:
print "1 - 变量 a 不在给定的列表中 list 中"
if ( b not in list ):
print "2 - 变量 b 不在给定的列表中 list 中"
else:
print "2 - 变量 b 在给定的列表中 list 中"
# 修改变量 a 的值
a = 2
if ( a in list ):
print "3 - 变量 a 在给定的列表中 list 中"
else:
print "3 - 变量 a 不在给定的列表中 list 中"
以上实例输出结果:
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中
7)身份运算符
身份运算符是用来判断两个变量是否是引用了相同内存地址的运算符。
两个变量的值相等,它们不一定就是引用了相同的内存地址,但如果两个变量引用了相同的内存地址,那么他们的值必然相等。
实例如下:
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 有相同的标识"
以上实例输出结果:
1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识
8)运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
------------------------------------------分界线------------------------------------
好啦,以上就是码小会总结的运算符相关知识点分析,如果觉得感兴趣想学习Python,可以学习我们的免费课程《嘿有趣Python快速入门》,期待与你们一起学习!
0 评论