图片说明

input函数的使用

从键盘录入两个整数,计算两个数的和
a=int(input('请输入一个加数'))
b=int(input('请输入另一个加数'))
print(a+b)

运算符

1算数运算符:+ - * / % // **

print(1+2)#加法
print(1-2)#减法
print(1*2)#乘法
print(11/2)#除法  结果为5.5
print(11//2)#整除
print(11%2)#取余
print(2**3)#表示2的3次方

注意计算除法时出现负数的情况:公式:余数=被除数-除数*商

print(9//4)#2
print(-9//-4)#2
print(-9//4)#-3,向下取整,按道理是-2.2几,向下取整是-3
print(9//-4)#-3
print(9%-4)#            -3=9-(-4)*(-3)
print(-9%4)#             3=-9-4*(-3)

2.赋值运算符
✪从右往左的运算顺序。首先计算右边3+4的结果,再赋值给a。

a=3+4
print(a)

✪支持链式赋值

a=b=c=20
print(a,b,c)
print(a,id(a))
print(b,id(b))
print(c,id(c))

✪支持参数赋值

a=20
a+=20         #相当于a=a+20
print(a)     #40
a-=10
print(a)     #30
a*=2
print(a)       #60
a/=7
print(a)     #float类型,8.571428571428571

✪支持系列解包赋值

a,b,c=20,30,40       #要求等号左边右边的数字相同
print(a,b,c)     #交换之前20 30 40
#解包赋值的优点就在于交换两个变量的值不用中间变量
a,b=b,a
print(a,b,c)     #交换之后30 20 40

3.比较运算符>,<,==,<=,>=,!=

比较的是对象的值!比较的结果结果是一个bool类型

a,b=20,30
print('a>b吗?',a>b)     #False
print('a<b吗?',a<b)     # TURE
print('a<=b吗?',a<=b)   # TURE
print('a>=b吗?',a>=b)   #False
print('a==b吗?',a==b)   #False,比较的是值
print('a!=b吗?',a!=b)   # TURE

比较对象的标识使用 is
当两个数的值不一样时:

a,b=20,30
print(a is b)       # False,这里说明两个id不同

当a和b一样时:a占用了一个标识,因为已经有10这个value了,b就和a共用一个标识
只要a,b任意一个的值有变化,这个就不是同一个标识了

a=10
b=10
print(a is b)       # True,相当于有一个变量:ID985,type:int  value:10, 

但是数组就不一样了:值相同,但是地址(标识)不同。

lst1=[11,22,33,44,5]
lst2=[11,22,33,44,5]
print('lst1=lst2吗?',lst1==lst2) #True
print(lst1 is lst2)     #False
print(id(lst1))
print(id(lst2))
print(lst1 is not lst2)    #True

4.逻辑布尔运算符 and ,or,not, in, not in

a,b=1,2
print('--------and------------')#只有两边都为True,结果才为True
print(a==1 and b==2)
print(a==1 and b<2)
print(a!=1 and b==2)
print(a!=1 and b!=2)

print('--------or------------')#两边有一个为True,结果就为True
print(a==1 or b==2)
print(a==1 or b<2)
print(a!=1 or b==2)
print(a!=1 or b!=2)

print('--------not------------')#取反
f=True
print(not f)

print('--------in与not in------------')
s='helloworld'
print('w'in s)#T
print('k'in s)#F
print('w'not in s)#F
print('k'not in s)#T

5.位运算符,8421码计算。
按位与:&
按位或:|
左移运算:<<
右移运算:>>

print(4&8)#0
print(4|8)#12
print(4<<1)#向左移动一位,高位溢出,地位补零,结果为8
print(4>>2)#向右移动两位,低位溢出,高位补零,结果为1

运算符的优先级:

算术运算》位运算》比较运算》布尔运算》赋值运算,括号优先