注:本笔记对应江灏老师在B站的教学视频https://www.bilibili.com/video/BV1zE411V79p
1.算数运算符+ - * / % ** //
a=3;b=7
print(a+b) #加
print(a-b) #减
print(a*b)
print(a/b)
print(a%b) #取余
print(a**b) #乘方
print(a//b) #取整
2.比较运算符 == != < > <= >=
返回结果为True或者Flase
a=5;b=20
print(a==b) #等于
print(a!=b) #不等于
print(a>b) #大于
print(a<b) #小于
print(a<=b) #小于等于
print(a>=b) #大于等于
3.赋值运算符= += -= *= /= %= **= //= >>= <<=
4.逻辑运算符and or not
优先级:not > and >or
print(3>4and4>3or1==3and'x'=='x'or3>3)#F
#(【3>4 and 4>3】 or 【1==3 and 'x'=='x'】 or 3>3)
print(not1or0and1or3and4or5and6or7and8and9)#4
# (【not 1】 or 【0 and 1】 or 【3 and 4】 or 【5 and 6】 or 【7 and 8 and 9】)
# (【0 or 0】 or 4 or 6 or 9)
# (【0 or 4】 or 6 or 9)
# (4 or 6 or 9)
# 4
print(3and4) #4
print(4and3) #3
print(0and3) #0
print(3and0) #0
print(TrueandFalse)#False
print(FalseandTrue)#False
print(TrueandTrue)#True
print(FalseandFalse)#False
print(3or4) #3
print(4or3) #4
print(0or3) #3
print(3or0) #3
print(TrueorFalse)#True
print(FalseorTrue)#True
print(TrueorTrue)#True
print(FalseorFalse)#False
print(not3) #False
print(not0) #True
print(notTrue) #False
print(notFalse) #
5.位运算符
按位与运算:&
按位或运算:|
按位异或运算:^
按位取反运算:~
左移动运算:<<
右移动运算:>>
执行二进制操作
a=60 #0011 1100
b=13 #0000 1101
print(a&b)#12 二进制:0000 1100 #00 01 10为0,11为1
print(a|b)#61 二进制:0011 1101 #00为0,01 10 11为1
print(a^b)#49 二进制:0011 0001 #01 10为1,11 00为0
print(~a) #-61二进制:1100 0011 #补码,左一为1,所以为负数(0为负数),再取反加1,为-61
print(a<<2)#240二进制:1111 0000 高位丢弃,低位补0
print(a>>2)#15 二进制:0000 1111 低位丢弃,高位补0
6.成员运算符in not in
list1= [1,2,3,4,5]
a=2
b=6
print(ainlist1) #T
print(anotinlist1) #F
print(binlist1) #F
print(bnotinlist1)3 #T
7.身份运算符is is not
is 是判断两个标识符是不是引用自一个对象is not是判断两个标识符是不是引用自不同对象
x is y,类似于id(x) == id(y)x is not y,类似与id(x) != id(y)
val1=2000
val2=2001
val3=val1+1
print(val3isval2)
print(val3==val2)
print(id(val3) ==id(val2))
8.运算符优先级
9.练习:
x=True
y=False
z=False
ifnotxory:#False
print(1)
elifnotxornotyandz:#False
print(2)
elifnotxoryornotyandx:#True
print(3)
else:
print(4)
网友评论