python运算符
1、算数运算符( + - * / // % ** )
# + - * / // % **
# 加 减 乘 除 整除 余数 幂
#注意
#1、 / 得到浮点型, // 得看被除数
10 / 5 #2.0
10 // 5 #2
10.0//5 #2.2
#2、 %
15 % 4 # 3
-15%-4 #-3 原余取反
15 %-4 #-1 余数 + 除数
-15% 4 # 1 除数 - 余数
2、比较运算符( < > <= >= == != )
# 注意:
num1 = 1
num2 = 1
res = num1 == num2 # True
3、 赋值运算符( = += -= *= /= //= %= **=)
num1 = 100
num2 = 5
num1 /= num2 # num1 = num1 / num2
4、 成员运算符( in , not in )
#针对于容器类型数据
strvar = "人生苦短,我用Python"
res = "python" not in strvar # False
res = "生python" in strvar # False
# 字典当中只判断 key
5、身份运算符( is , is not)
# 判断内存地址是否相同
(同一文件,模块,python)
#1 整型 (-5 ~ 正无穷 <小数据池:id地址相同>)
#2 浮点型(非负数)
#3 bool值相同
#4 复数类型(只有正虚数部分)
#5 strvar = "哈"相同时
#6 元组为空的时候
#7 其他容器永不相同
(不同文件,模块)
#1 整型 (-5 ~ 256 <小数据池:id地址相同>)
6、逻辑运算符( and , or ,nor)
# and
"""全真则真,有假则假"""
# or
"""全假则假,有真则真"""
# not
"""真假取反"""
# 逻辑短路:出现短路,不执行后面代码
True or print("短路,不执行") # or 当遇到 True 已经有结果为真,后面真假不影响结果,所有为短路效果。
False or print("没短路,执行") # or 首先遇到 False 还需要判断后边的
# 优先级 : () > not > and > or7 同级从左往右
7、位运算符( & , | , ~ , ^ , << , >> )
#1、 按位与 & (二进制and-------有0出0,全1出1)
#2、 按位或 | (二进制or--------有1出1 全0出0)
#3、 按位非 ~ (二进制not,针对补码进行运算,按位取反,包括标志位)
res = ~10 #-11 -(n+1)
#4、 按位异或 ^ (二进制-----------值同出0 异出1)
#5、 左移 << (5<<1,000...101--->000...1010)
res = 5 << 1 #10 5*2**1
res = 5 << 2 #20 5*2**2
res = 5 << 3 #40 5*2**3
#6、 右移 >> (5>>1,000...101--->000...010)
res = 5 >> 1 #2 5//2**1
res = 5 >> 2 #1 5//2**2
res = 5 >> 3 #0 5//2**3
8、运算符总结
"""
(1) 个别运算符:
1.1优先级最高**幂运算
1.2优先级最低=赋值运算符
1.3()括号可以提升运算优先级
(2)整体 一元运算符 > 二元运算符
一元运算符:同一时间,只操作一个值-~
二元运算符:同一时间,操作两个值+-*/...
(3) 同一层级
逻辑: () > not > and > or
位运算符:( << >> ) > & > ^ > |
(4)其他运算符
算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符 > 赋值运算符
"""