‘’’
运算和运算符
运算:一个或者一个以上的数据进过变化得到一个新的值的过程
运算符:运算的符号就是运算符
分类:
1.算术运算
+ ,— ,* ,/ ,(加减乘除)
** 幂运算 (计算一个数的次方)
a=5 ** 3 (5的3次方)
// 地板除运算符(取商运算符)
a=47 // 10 (取商结果为:4 ,取47除10的整除部分就叫取商)
% 取余运算符
a=47 % 10 (取余结果为:7 ,取47除10整除后面的余数 7 就叫取余)
2.比较运算 (运算结果为布尔值)
> 大于运算符
< 小于运算符
>= 大于等于
<= 小于等于
== 等于运算符
!= 不等于运算符
连续的比较运算
a=23 < 43 < 33
3.赋值运算
1. = 赋值运算
var = 100
2. += 加法赋值运算
var = 10
var += 20
print(var)
3. -= 减法赋值运算
var = 34
var -= 8
print(var)
4. *= 乘法赋值运算
var = 12
var *= 2
print(var)
5. /= 除法赋值运算
var = 42
var /= 4
print(var)
6. %= 取余赋值运算
var = 26
var %= 5
print(var)
7. //= 取商赋值运算
var = 33
var //= 6
print(var)
8. **= 幂赋值运算
var = 5
var **= 3
print(var)
4.逻辑运算 (布尔值之间的运算)
1.and 逻辑与运算 (有假则真)
var1 = true
var2 = true
result = var1 and var2
print(result)
true and true=true
false and true=false
true and false=false
false and false=false
2.or 逻辑或运算 (有真则真)
var1 = true
var2 = true
result = var1 or var2
print(result)
true or true=true
false or true=true
true or false=true
false or false=false
3.not 逻辑非运算 (真变假,假变真)
var = true
result = not var
print(result)
4.xor 逻辑异或运算(相同为假,不同为真)
python不支持xor 逻辑异或运算
5.位运算
1. & 按位与运算 (运算前将数据转换成二进制后进行逻辑与运算)
var1 = 25 #11001
var2 = 17 #10001
result = var1 & var2 #将1当做true,将0当做false 进行逻辑与运算
print(result) #结果为十进制:17
2. | 按位或运算 (运算前将数据转换成二进制后进行逻辑或运算)
var1 = 25 #11001
var2 = 12 #01100
result = var1 \ var2 #将1当做true,将0当做false 进行逻辑或运算
print(result) #结果为十进制:29
3. ~ 按位非运算 (运算前将数据转换成二进制后进行逻辑非运算)
var = 8
result = ~var
print(result)
4.^ 按位异或运算 (运算前将数据转换成二进制后进行逻辑异或运算)
var1 = 25 #11001
var2 = 12 #01100
result = var1 ^ var2 #将1当做true,将0当做false 进行逻辑异或运算
print(result) #结果为十进制:21
5. << 左移运算 (运算前将数据转换成二进制后将数据向左移动)
var = 48
result = var << 1 #转换成二进制后将数据向左移动1位,相当于乘以2的运算
print(result)
6. >> 右移运算 (运算前将数据转换成二进制后将数据向右移动)
var = 36
result = var // 1 #转换成二进制后将数据向右移动1位,相当于地板除2的运算
print(result)
6.身份检测运算 (检测两个数据在内存中是否是同一个值)
is #检测一个数据和另外一个数据在内存中是否是同一个值
var1 = 44
var2 = 44
a = var1 is var2
print(a)
print(id(var1),id(var2))
注意:3.7及以上版本整数和浮点数和字符串只要值一样,id标识就一样
is not #检测一个数据和另外一个数据在内存中是否不是同一个值
var1 = [ ]
var2 = [ ]
a = var1 is not var2
print(a)
print(id(var1),id(var2))
注意:其它数据类型,列表,元组,字典,集合,数据相同,id标识也不同
id标识检测:(id是系统为数据分配的编号)
var = 99
a = id(var)
print(a)
7.成员检测运算 (成员检测运算只能检测容器类数据)
in #检测一个数据是否存在于容器当中
a = ['1','2','3','4']
b = '2' in a
print(b)
注意:字典的成员运算只进行键的检测,不进行值的检测
not in #检测一个数据是否不存在于容器当中
a = ['1','2','3','4']
b = '6' not in a
print(b)
‘’’