第三章 input & 运算符
19. input函数的使用
(1)作用:接收来自用户的输入 —— 输入函数,需要输入回答
(2)返回值类型:输入值的类型为str
(3)值的存储:使用 = 对输入的值进行存储
present=input('你想要什么礼物')
print(present,type(present))
20. input函数的高级使用
#从键盘录入两个整数,并求和
a=input('第一个数')
b=input('第二个数')
print(type(a),type(b))
print(a+b) # 都是字符串,+ 起到连接作用
print(int(a)+int(b))
# or
c=int(input('第一个数'))
d=int(input('第二个数'))
print(c+d)
21. 运算符-算术运算符
Python中常用的运算符
(1)算术运算符【最常见】
①标准算术运算符: 加(+)、减(-)、乘(*)、除(/)、整除(//)—— 一正一负向下取整
print(-9//4) #-3 print(9//-4) #-3
②取余运算符 —— %
注:一正一负要公式:余数=被除数-除数*商
print(9%-4) #-3 9-(-4)*(-3) à-3
print(-9%4) #3 -9-4*(-3) à3
③幂运算符 —— **
print('-------------------21.运算符-算术运算符-------------------')
print(1+1)
print(5-1)
print(2*4)
print(1/2)
print(11//2) # -->5 整除 取整,不考虑四舍五入
print(11%2) #取余运算
print(2**3) #幂运算
print(9//4) #2
print(-9//-4) #2
print(-9//4) #-3
print(9//-4) #-3
print(9%-4) #-3
print(-9%4) #3
22. 运算符-赋值运算符
(2)赋值运算符 【=】
①执行顺序:右 ——> 左
②支持链式赋值:a=b=c=20
③支持参数赋值:+=、-=、*=、/=、//=、%=
④支持系列解包赋值:a,b,c=20,30,40
print('-------------------22.运算符-赋值运算符-------------------')
i=3+4 #从右往左
print(i)
#支持链式赋值
a=b=c=20
print(a,id(a))
print(b,id(b))
print(c,id(c))
#支持参数赋值
e=20
e+=30 #相当于 e=e+30
print(e)
e-=10 #相当于 e=e-10
print(e)
e*=2 # e=e*2
print(e,type(e))
e/=3 # e=e/3
print(e,type(e))
e//=2 #e=e//2
print(e,type(e))
e%=3
print(e,type(e))
print('--------支持系列解包赋值--------')
a,b,c=20,30,40 # a,b=20,30,40报错,左右变量与值个数不对应
print(a,b,c,id(a),id(b),id(c))
print('--------交换两个变量的值--------')
h,m=10,20
print('交换之前:',h,m)
h,m=m,h
print('交换之后:',h,m)
23. 运算符-比较运算符
(3)比较运算符:对变量或表达式的结果进行大小、真假等比较,结果为 True or False
① > , < , >= , <= , !=【不等于】
② = = 比较对象的值:value 比较
③ is 是, is not 不是 比较对象的标识: id 比较
print('-------------------23.运算符-比较运算符-------------------')
a,b=10,20
print('a>b吗?',a>b) # 比较结果为布尔类型
print('a<b吗?',a<b)
print('a<=b吗',a<=b)
print('a>=b吗?',a>=b)
print('a==b吗?',a==b)
print('a!=b吗?',a!=b) #不等于
'''一个 = 称为赋值运算符 , == 称为比较运算符
一个变量由三部分组成:标识,类型,值
== 比较的是对象的值 value
is 对象的标识 id 比较
'''
s=10
d=10
print(s==d) # value 相同
print(s is d) # id 相等
# 以下代码后面会讲解
list1=[11,22,33,44]
list2=[11,22,33,44]
print(list1==list2)
print(list1 is list2)
print(id(list1),id(list2))
print(s is not d)
print(list1 is not list2)
24. 运算符-布尔运算符
(4)布尔运算符
运算符 | 运算数 | 运算结果 | 备注 | |
in |
| |||
not in | ||||
and | True | True | True | 两个运算数同为True,结果才为True, |
True | False | False | ||
False | True | |||
False | False | |||
or | True | True | True | 只要有一个运算数为True,结果为True |
True | False | |||
False | True | |||
False | False | False | ||
not | True | False | 对布尔bool类型操作数取反 | |
False | True |
print('-------------------24.运算符-比较运算符-------------------')
a,b=1,2
print(a==1 and b==2)
print(a==1 and b<2)
print('--------not 对布尔bool类型操作数取反--------')
g1=True
g2=False
print(not g1)
print(not g2)
print('--------in 与 not in--------')
s='helloworld'
print('w' in s)
print('k' in s)
print('w' not in s)
print('k' not in s)
25. 运算符-位运算符
(5)位运算符:将数据转成二进制进行计算
位与 & | 对应数位都是1,结果数位才是1,否则为0 |
位或 | | 对应数位都是0,结果数位才是0,否则为1 |
左移位运算符 << | 高位溢出舍弃,低位补0(向左移动一位相当于 乘以2 ) |
右移位运算符 >> | 低位溢出舍弃,高位补0 (向右移动一位相当于 除以2 ) |
print('-------------------25.运算符-位运算符-------------------')
print(4&8)
print(4|8)
print(4<<1)
print(4<<2)
print(4<<5)
print(4>>1)
print(4>>2)
print(4>>3)
26. 运算符的优先级
(0)有括号先算括号
(1)算数运算符:先乘除后加减,有幂运算则先算幂;
(2)位运算: >> , << , & ,|
(3)比较运算: > , < , >= , <= , !=,= =
(4)布尔运算:and or
(5)赋值运算:=