运算符
- 举一个例子来说什么是运算符:4 + 5= 9
- 4和5是加数和被加数,也可以叫操作数,+号就是我们说的运算符
- 若干个操作数通过不同的运算符,可以得到不同的结果
- 接下来,我们只讲一些常用的运算符
算术运算符
先假设a = 5, b = 2
运算符:+
描述: 两个对象进行相加
实例: a + b 的结果为7
运算符:-
描述: 两个对象进行相减
实例: a - b 的结果为 3
b - a 的结果为-3
运算符:*
描述: 两个对象进行相乘
实例: a * b 的结果为10
运算符:/
描述: 两个对象进行相除
实例: a / b 的结果为2.5
b / a 的结果为0.4
注:要非常注意的一点在于,在Python3中,不管是否能整除,得到的结果一定是float类型,也就是还有小数点。
运算符:**
描述: 进行幂指运算
实例: a ** b 的结果为25(就是求5的2次方)
b ** a 的结果为32(就是求2的5次方)
运算符:%
描述: 取模运算。两个对象进行相除,然后取余数
实例: a % b 的结果为1
b % a 的结果为2
运算符://
描述: 整除运算。两个对象进行相除,然后取商
实例: a // b 的结果为2
b // a 的结果为0
比较运算符
比较运算符是用来判断真假的,在Python中,用True和False来表示真假。
假设a = 1, b = 2
运算符:>
描述: 比较两个对象的大小
实例: a > b 的结果为False
b > a 的结果为True
运算符:<
描述: 比较两个对象的大小
实例: a < b 的结果为True
b < a 的结果为False
运算符:==
描述: 比较两个对象是否相等
实例: a ==b 的结果为False
运算符:!=
描述: 比较两个对象是否不相等
实例: a != b 的结果为True
运算符:>=
描述: 比较两个对象的大小
实例: a >= b 的结果为False
b >= a 的结果为True
运算符:<=
描述: 比较两个对象的大小
实例: a <= b 的结果为True
b <= a 的结果为False
注:像==和>=这种运算符,两个符号中间是没有空格的!
赋值运算符
在第四篇变量中,我们讲过赋值的概念,如果不记得了,建议回去再看一下。
假设a = 5, b = 2
运算符:=
描述: 简单的赋值
实例: c = a + b 就是将a+b得到的结果,赋值给变量c,最终变量c代表7
运算符:+=
描述: 先做加法再赋值
实例: a += 1 相当于a = a + 1,运算后,a = 6
运算符:-=
描述: 先做减法再赋值
实例: a -= b 相当于a = a - b,运算后,a = 3
运算符:*=
描述: 先做乘法再赋值
实例: a *= b 相当于a = a * b,运算后,a = 10
运算符:/=
描述: 先做除法再赋值
实例: a /= b 相当于a = a / b,运算后,a = 2.5
运算符:**=
描述: 先做幂指运算再赋值
实例: a **= b 相当于a = a ** b,运算后,a = 25
运算符:%=
描述: 先做取模运算再赋值
实例: a %= b 相当于a = a % b,运算后,a = 1
运算符://=
描述: 先做整除运算再赋值
实例: a //= b 相当于a = a // b,运算后,a = 2
逻辑运算符
假设a = True, b = False, c = True, d = False
运算符:and
描述: 逻辑“与”运算,两个操作对象都为True,结果才为True,否则结果为False
实例: a and b 结果为 False
a and c 结果为 True
运算符:or
描述: 逻辑“或”运算,两个操作对象都为False,结果才为False,否则结果为True
实例: a or b 结果为 True
a or c 结果为True
b or d 结果为False
运算符:not
描述: 逻辑“非”运算
实例: not a 结果为 False
not b 结果为 True
not(a and b) 结果为 True
成员运算符
假设a = 'A', b = 'ABC', c = ['A', 'B']
运算符:in
描述: 如果在指定的序列中找到值返回True,否则返回False
实例: a in b 结果为 True
b in c 结果为 False
a in c 结果为 True
运算符:not in
描述: 如果在指定的序列中没有找到值返回True,否则返回False
实例: a not in b 结果为 False
b not in c 结果为 True
a not in c 结果为 False
身份运算符(is 和 is not)
有一些东西还没有讲,先不讲,占个坑,后面再补充
is 与 ==区别
有一些东西还没有讲,先不讲,占个坑,后面再补充
位运算符(不做讨论,感兴趣可以私下了解)
跟二进制有关的
运算符的优先级
以下信息来自于菜鸟教程(侵删)
从最高到最低优先级的所有运算符
注:因为有一些没有讲,可以先略过,等后面学习后,再来了解