七、运算符
1)算数运算符
(+ - * /) %(取余数)
10 / 3 = 3.3333
10 // 3 = 3
10 % 3 = 1
2)比较运算符
<,>,>=,<=,!=(不等于),==(相等)
注意:=是赋值,不是等于
3)赋值运算符
=
1.增量赋值
a = a + 1 #等同于 a += 1
2.交叉赋值
a = 1
b = 2
a,b = b,a
3.链式赋值
x = 7
y = x
z = y
a = z
x = y = z = a = 7
# 如果是[],改变其中一个就改变所有,因为指向同一个地址
4.解压赋值
l = [1,2,2,3,1,4]
a = l[0]
b = l[1]
c = l[2]
d = l[3]
e = l[4]
f = l[5]
a,b,c,d,e,f = l
# 正常情况:左边值的个数 = 右边包含的值的个数
# 取前两个值
a,b,*abc = l
# 可以避免写多个变量(*的符号)abc 是剩下的值 习惯上,写做 *_
# 取后面两个值
*_,m,n = l
# 取前面三个,后面两个值
a,b,c,*_,m,n
# 取中间,只能用索引,,,
# 解压赋值与切片的结合
a,b,c = list1[0:3]
4)逻辑运算符
与:and 取交集,同时成立,则为True
或:or 取并集,其中一个成立,则True
非:not 取反
混用,用括号区分优先级就好了
not 3 < 4 等同于 not (3 < 4)
not > and > or
not 取反紧跟其后的那个条件,优先级高
从左到右判断,除去优先级
短路运算:
条件1 and 条件2
如果条件1 为假,则整个and都为假,不用再往后判断了
条件1 or 条件2
如果条件1 为真,则整个or都为真,不用再往后判断了
a = 0 or 1
a = 1
a =1 > 0
a = True
5)身份运算符
is :判断变量之间id是否相同
6)成员运算符
in:
list1 = [111, 2, 3]
if 111 in list1:
print('yes')
# 判断111是否在list1里
# not in :判断不在里面