运算符
算数运算符 + - * ** / // %
print(4 + 5) print("a" + "b") print([1, 2] + [1, 4]) print(10 - 2) print("a" * 5) print([1, 2] * 3) print("a" ** 3) print(10 / 2) print(10 // 2.0) print(10 // 2) print(10 % 3)
赋值运算符 = += *= /= %= **= //=
sum = sum + number => sum += number 先运算 number运算最后执行 + 运算
number = 5 number -= 10 -5 print(number, 5 - 10 - 5)
链式赋值
a, b, c = 1, 2, 4 print(a, b, c)
关系运算符, 判断值(返回True False)
== != > < >= <=
print("a" == "a") print("a" != "a") print("A" >= "a", ord("A"), ord("a"))
同类型才可以做关系运算
1. number(int float bool)
2. str list tuple 会依次取出值进行比较, 出结果直接返回,非数字字符则转换为ascii码对应的数字进行比较
逻辑运算符 and(与) or(或) not(非)
and 第一个结果为False就不会判断第二个,直接返回第一个值
or 第一个结果为True就不会判断二个,直接返回第一个值
not 返回(True False)
print("a" and "b") print(None and "b") print("a" or None) print(None or "a") print(not "a") print(not None) print(not "a" and "b") print(not "a" or "b")
运算符优先级
1. ()
2. not
3. and
4. or
优先级相同从左到右
位运算符 把数字转化为二进制数进行运算
& 按位与 把数字换为对应的二进制,每一二进制位都进行与运算,得出结果转换为10进制
| 按位或
^ 按位异或
~ 按位取反
<< 左移动
>> 右移动
优先级
1. 算数运算符
2. 关系运算符
3. 逻辑运算符
推荐使用 () 强制或标明优先级顺序