yandyand

导航

python运算符

#运算符:
'''
+
-
*
/
//
**
%
'''

#关系比较运算符
'''
> 大于
< 小于
= 赋值
== 等于(绝对等于,包括值的类型,以及变量中的值)
<= 小于等于
>= 大于等于
!= 不等于
'''
#大于比较返回的结果类型为布尔类型(bool)
#如果结果不成了则返回false
# a=1
# b=2
# c=b>a
# print(c)

#同理
# a=1
# b=2
# c=a<b
# print(c)

#赋值
# a=10
# print(a)

#等于
# a=10
# b=10
# print(a==b)

#大于等于 (只要有一个结果成立就返回True)
# a=100
#b=100
# b=200
# c=a>=100
# print(c)

#小于等于
# a=20
#b=10
# b=20
# c = b<=a
# print(c)

#不等于
#顾名思义,就是判断不等于,当结果不等于时返回正确,相反如果结果等于则返回错误
# a=100
#b=99
# b=100
# c = b != a
# print(c)


#关系比较运算符
'''
=
+= 加法
-+ 减法
*= 乘法
/= 除法
//= 整数
%= 余法
**= 次幂
'''

#+=(求加法)
# a=1
# a+=1
# print(a)

#-=(求减法)
# a=2
# a-=1
# print(a)

#*=(=求乘法)
# a=5
# a*=2
# print(a)

#/=(求除法)
# a=6
# a/=3
# print(a)

#//=(求整除)
# a=6
# a//=3
# print(a)

#%=(求一个数的余)
#意思就是求一个数的余数,好比下面的比方,当10除以9的时候,九进一,所以还剩下一,这个就是他的余数
# a=10
# a%=9
# print(a)

#**=(次幂)
#意思就是2*2*2
# a=2
# a**=3
# print(a)

#= (等于)
#相当于重新赋值了
# a=1
# a=1
# print(a)

#逻辑运算
'''
and (逻辑与运算,有假则假)
or (逻辑或运算,有真则真)
not (逻辑非运算,真变假,假变真)
xor (逻辑异或运算,这个不用记基本用不到,但知道有这个就好了)
'''

#and(逻辑与运算)
#(真)
# var = True
# val = True
# res = val and var
# print(res)

#假
# var=True
# val=False
# res=var and val
# print(res)

# var=False
# val=False
# res=val and var
# print(res)
#(说白了就是有真的就是真的,但其中如果有一个假的那就全部都是假的)

#or(逻辑或运算)
#(有真Ture就为真,没有真就是假的)
# var = False
# val = True
# res= var or val
# print(res)
#假
# var = False
# val = False
# res = val or var
# print(res)

#逻辑非运算
#为真,假变成真的,
# var = False
# res = not var
# print(res)
#可以理解成取反
#真的变成假的
# var = True
# res = not var
# print(res)

#xor(按位异或)
# True True ---> False
# False False --> False
# True False ---> True
# False True ---> True

#成员运算符
'''
in 在容器中
not in 不再容器中
'''

#我在容器中a中
# a= "我今天很开心啊!"
# b= "我"
# print(b in a)

#开心不再a的容器中
# a= "今天我不高兴"
# b= "开心"
# print(b in a)

#列表中的in
#他会返回False,为什么呢?
#因为它是一个元素,因为a的元素时"hello","wold",但b的值时"ll",因为a的元素中并没有"ll",所以返回False
# a=["hello","world"]
# b= "ll"
# print(b in a)

#字典中的in
#返回结果为真,但是注意字典只等一键来进行对比
# var = {"name1":"yy1","name2":"yy2"}
# val = "name1"
# print(val in var)

#如果你以值来进行对比就会,他会找不到的
#返回为False,因为字典只能以键来进行查找和对比
# var = {"name1":"yy1","name2":"yy2"}
# val = "yy2"
# print(val in var)


#not in
#因为快乐不再a的容器中所以返回True(正确)
# a = "今天我很开心,很高兴"
# b = "快乐"
# print(b not in a)

#因为a的值中有人生,所以返回False(错误)
#可以理解为取反
# a = "人生苦短"
# b = "人生"
# print(b not in a )

#not in 在列表字典中的区别


#因为在a中确实有没有"thon"这个元素,所以返回正确
# a= ["我学习python","python"]
# b="thon"
# print(b not in a)

#因为a中确实没有"今天我很高兴",所以返回正确
# a= ["人生苦短我学python","苦尽甘来"]
# b = "今天我很高兴"
# print( b not in a)


#身份检测
#主要就是用于一个数据是否在另外一个数据中
#检测b是否是一个man
# a = "man"
# b = "man"
# print(a is b)
#可以理解为=
# print(b is not a)


#按位运算
'''
& 按位与
| 按位或
^ 异或
~ 按位取反
<< 左移
>> 右移
'''
#按位与运算
# var = 55
# val = 6
# res = var & val
# print(res)
#转换为二进制
#55 = 00110111 (55)
#6 = 00000110 (6)
#结果= 00000110(6)

#再来一个例子
# a = 168
# b = 74
# c = a & b
# print(c)
#相当于and


#按位或运算
#有1则为1
# a = 55 #00110111
# b = 20 #00010100
# #00110111
#结果为55
# c = a | b
# print(c)

#异或运算
#相同为假,不同为真
# a = 55 #00110111 (55)
# b = 20 #00010100 (20)
# #00100011(35)
# c = a ^ b
# print(c)

#按位取反
#在原有的数值上变成负数并+1
# a = 55
# c = ~a
# print(c)

#<<
#向左移动2位
# a = 55 #00110111
# b = a << 2 #0011011100 = 220
# print(b)

#再来一个
# a = 77 #01001101
# b = a << 2 #0100110100 = 308
# print(b)

#>>(右移)
# a = 55 #00110111
# b = a >>2 #1101 (直径舍弃掉前面的两位,然后补零)
# print(b) #=13

posted on 2020-06-06 15:33  yandyand  阅读(157)  评论(0)    收藏  举报