第三章
1、输入函数
#输入函数input
present = input('大圣想要什么礼物呢?')#大圣想要什么礼物呢?金箍棒
print(present,type(present))#金箍棒 <class 'str'>
2、加
#从键盘输入两个整数,计算两个整数的和
a=input('请输入一个加数')#10
b=input('请输入另一个加数')#20
print(type(a),type(b))#<class 'str'> <class 'str'>
print(a+b)#1020
print(int(a)+int(b))#30
a=int(input('请输入一个加数'))
b=int(input('请输入另一个加数'))
3、算术运算符
print(1+2) #加法运算3
print(2-1) #减法运算1
print(2*3) #乘法运算6
print(3/2) #除法运算1.5
print(11/2) #除法运算5.5
print(11//2) #整除运算5
print(11%2) #取余运算1
print(2**3) #表示的是2的3次方8
print(9//4) #2
print(-9//-4) #2
#一正一负向下取整
print(-9//4) #-3
print(9//-4) #-3
# 余数 = 被除数 - 除数 * 商
print(9%-4) #-3
print(-9%4) #3
4、赋值运算符
#赋值运算符,运算顺序从右到左
i= 3 + 4
print(i) #7
#链式赋值
a=b=c=20
print(a,id(a)) #20 140707967473920
print(b,id(b)) #20 140707967473920
print(c,id(c)) #20 140707967473920
#参数赋值
a = 20
a+=30
print(a,type(a)) #50 <class 'int'>
a-=10
print(a,type(a)) #40 <class 'int'>
a*=2
print(a,type(a)) #80 <class 'int'>
a/=3
print(a,type(a)) #26.666666666666668 <class 'float'>
a//=2
print(a,type(a)) #13.0 <class 'float'>
#解包赋值
a,b,c=10,20,30
print(a,b,c) #10 20 30
#a,b=10,20,30 #报错,左右变量的个数不对应
#a,b,c=10,20 #报错,左右变量的个数不对应
#交换两个变量的值
a,b=10,20
print(a,b) #10 20
a,b=b,a
print(a,b) #20 10
5、比较运算符
#比较运算符
a,b=10,20
print(a>b) #False
print(a<b) #True
print(a>=b) #False
print(a<=b) #True
print(a==b) #False
print(a!=b) #True
#一个=为赋值运算符
#两个==为比较运算符
#一个变量由三部分组成:标识,类型,值
#==比较的是值
#比较对象的标识使用is
a=10
b=10
print(id(a),id(b)) #140708535408576 140708535408576
print(a==b) #True
print(a is b) #True
print(a is not b) #False
lst1=[11,22,33,44]
lst2=[11,22,33,44]
print(lst1 == lst2) #True
print(lst1 is lst2) #False
print(lst1 is not lst2) #True
print(id(lst1),id(lst2)) #2426658940096 2426658939136
6、布尔运算符
#布尔运算符
a,b=1,2
#and
print(a==1 and b==2) #True
print(a==1 and b!=2) #False
print(a!=1 and b==2) #False
print(a!=1 and b!=2) #False
#or
print(a==1 or b==2) #True
print(a==1 or b!=2) #True
print(a!=1 or b==2) #True
print(a!=1 or b!=2) #False
#not:对bool类型进行取反操作
b1=True
b2=False
print(not b1) #False
print(not b2) #True
#in 与 not in
s='helloworld'
print('w' in s) #True
print('a' in s) #False
print('w' not in s) #False
print('a' not in s) #True
print('he' in s) #True
7、按位运算符
#按位运算符
#先转换成二进制
#按位与&:同为1时结果为1
print(4&8) #4-->100, 8-->1000,结果为0000-->0
#按位或|:同时为0结果为0
print(4|8) #4-->100, 8-->1000,结果为1100-->12
#左移运算符:向左移动n位,相当于乘以2的n次方
print(4<<2) #100左移2位:10000,结果为16
#右移运算符:向右移动n位,相当于除以2的n次方(最多到0)
print(8>>2) #1000右移2位:10,结果为2
8、运算符的优先级
#先算优先级高的
#算术运算符:**、*、/、//、%、+、-(高)
#位运算符:<<、>>、&、|
#比较运算符:>、<、>=、<=、==、!=
#布尔运算符:and、or
#赋值运算符:=(低)