数学运算:
1.加减乘除,整除,取余
a = 5
b = 7
print("a + b =",a+b)
print("a - b =",a-b)
print("a * b =",a*b)
print("a / b =",a/b)
整除与取余:
#整除:
print("a//b =",a//b)
#取余:
print("a%b =",a%b)
赋值运算:
a += 1 #自加运算,+可以换成任意运算符号
逻辑运算
注: 结果只有真和假,True or False
1.与或非运算 AND,OR,NOT
True and True: ---> True
True and False: ---> False
False and True: ---> False
False and False: ---> False
True or True: ---> True
True or False: ---> True
False or True: ---> True
False or False: ---> False
not True ---> False
not False --->True
2.基本类型转换bool的规律:
可以使用 bool()来判断
int,float非零数为True
字符串,列表,字典,集合,元组非空为True
3.带变量的逻辑运算。
两个值相与,若第一个值为真,那么返回第二个值,若第一个值为假,则返回第一个值。
两个值相或,若第一个值为真,那么返回第一个值,若第一个值为假,则返回第二个值。
[1,2] and ‘12’
结果为’12’
因为:AND运算时,当第一个变量为真时,结果为第二个变量。
4.关系运算
判断相等
is 运算
如果两个变量值相等,只要是int\float\tuple,那么is的结果就是真
如果两个变量独立赋值且值相等,只要是list\dict\set,那么is的结果就是真
a = 10.0
b = 5+5
print(a == b) #==只判断值,不判断类型,所以结果为真
print( a is b) #is会判断类型,结果返回为假,浮点值只占用一个内存空间
a = [1,2]
b = [1,2]
print(a == b) # True
print(a is b) # is 会判断内存地址空间,list,dict,set类型各自占用各自的空间。
#由上述定义可推得,以下等式为True
a = b = [1,2]
此外还有几种关系运算:
> < >= <= !=
in ,not in
位运算
就是将要运算的数据转换为二进制,以二进制的形式进行运算。
运算符
- 按位与运算&
- 按位或运算 |
- 按位非运算 ~
- 按位异或 ^
- 移位符号 >> <<
bin()将十进制转换为二进制
int(‘0101010’,2)将二进制转化为十进制
a = 11
b = 20
a_bin = bin(a)
b_bin = bin(b)
print("a & b =",a & b) #结果为 0
print("a | b =",a | b) #结果为 31
按位求反~
从十进制角度,就是正反互换再减一
左右移位
左移位 :<< 相当于乘以2的N次方
右移位: >> 相当于除以2的N次方