一、python的输入input函数()
input函数作用
input函数返回值类型(也就是结果是什么类型)
input函数值的存储
input函数的使用

- input括号中的问句是一个提问—-也就是在程序输入前程序给我们的一个提示语,我们根据提示与输入一个数据
- 输入的数据会存储到变量中
present=input('大圣想要什么礼物?') #输入提问,将输入的结果存储到present变量中print(present,type(present)) #输出输入的内容,在输出其输入内容的字符串类型
练习
从键盘中输入两个整数,计算两个整数的和a=input('请输入一个加数')b=input('请输入另外一个加数')print(a+b) #将两个加数加到一起输出,报错,说明两个加数并没有进行整数相加的运算而是起了一个连接作用

报错
两个加数并没有进行整数相加的运算而是起了一个连接作用
分析
input函数的结果是字符串类型,所以不能相加,加号起到了连接作用
解决办法
通过类型转换把str类型通过int()函数转换成int类型、
方法一a=input('请输入一个加数')a=int(a) #将转换之后的结果存储到a中b=input('请输入另外一个加数')b=int(b) #将转换之后的结果存储到b中print(type(a),type(b)) #input函数的结果是字符串类型,所以不能相加print(a+b) #将两个加数加到一起输出,报错,说明两个加数并没有进行整数相加的运算而是起了一个连接作用

方法二
方法三#从键盘中输入两个整数,计算两个整数的和a=input('请输入一个加数')b=input('请输入另一一个加数')print(type(a),type(b))print(int(a)+int(b))
a=int(input('请输入一个加数')) #输入完结果就直接转换成int类型b=int(input('请输入另外一个加数')) #输入完结果就直接转换成int类型print(type(a),type(b)) #input函数的结果是字符串类型,所以不能相加print(a+b) #将两个加数加到一起输出,报错,说明两个加数并没有进行整数相加的运算而是起了一个连接作用
二、Python中的运算符
算术运算符
标准算术运算符
加(+)减(-)乘(*)除(/)以及整除(//)
#标准运算符print(1+1) # 加法运算print(1-1) # 减法运算print(2*4) # 乘法运算print(11/2) # 除法运算print(11//2) # 整除运算
取余运算符
%
print(11%2) # 取余运算
幂运算符
**
print(2**2) #表示2的2次方 幂运算print(2**3) #表示3的3次方 幂运算
特殊情况
一正一负情况下进行整除或者取余
整除(一正一负的整数公式,向下取整)
print(9/4)print(9//-4) #一正一负的整数公式,向下取整print(-9//4)
取余**(在两者为一正一负的情况下这样计算:余数=被除数-除数*商)**
print(9%4) #二者都是同好的话就正常计算print(9%-4) #被除数-除数*商 9%-4 ------ 9-(-4)*(-3)print(-9%4) #被除数-除数*商 -9%4 ------ -9-(4)*(-3)
赋值运算符
执行顺序
从右到左(右—->左)
i=4+3print(i) #4+3得出计算后通过赋值运算符存放在b中
支持链式赋值
a=b=c=20
a=b=c=20print('标识',id(a))print('标识',id(b))print('标识',id(c))
支持参数赋值
+=、-=、*=、/=、//=、%=
print('-------------支持参数赋值-------------')a=20a+=30 #相当于a=a+30a-=10 #相当于a=a-10print(a)a*=2 #相当于a=a*2print(a,type(a))a/=3 #相当于a=a/3print(a,type(a))a//=2 #相当于a=a//2 float类型的a与int类型2进行计算得到的是float类型print(a,type(a))a%=3print(a,type(a))
支持系列解包赋值
a,b,c=20,30,40
print('-------------支持系列解包赋值----------------')a,b,c=20,30,40 #代码中相当于有三个对象,分别有标识、类型和值。左变的变量和右边值的个数要相同,输出时位置和顺序不能错print(a,b,c) #a<----20,b<----30,c<----40a,b=20,30,40print(a,b,c) #左变的变量和右边值的个数要相同,不然会报错
注意
- 左变的变量和右边值的个数要相同,
- 输出时位置和顺序不能错
解包赋值的好处
print('-----------解包赋值的好处-----------')a,b=10,20print('交换之前:',a,b)#交换a,b=b,a #把b的值赋给a,把a的值赋给bprint('交换之后:',a,b)
比较运算符
常见比较运算符
(1)>, < , >= , <= ,!=(比较运算符的结果为bool布尔类型—true或者false)
a,b=10,20 #解包赋值print('a>b吗?',a>b) #Falseprint('a<b吗?',a<b) #Trueprint('a>=b吗?',a>=b) #True
(2)== !=
对象value的比值
print('a==b吗?',a==b) #False 一个'='号称为赋值运算,'=='成为比较运算符号print('a!=b',a!=b) #True 一个变量由三部分组成分别是:标识id、类型type和值value
(3)一个变量由三部分组成,标识,类型,值
==比较的是标识还是值? 比较的是值
比较对象的标识使用 is
(4)is , is not
对象id的比较
==比较的是标识还是值? 比较的是值
比较对象的标识使用 is
lst1=[11,22,33,44]lst2=[11,22,33,44]print(lst1==lst2) #比较的是value----->trueprint(lst1 is lst2 ) #比较的是id-------->falseprint(id(lst1))print(id(lst2))print(a is not b) #False a的id与b的id是不相同的print(lst1 is not lst2) #true lst1与lst2的id是不同的
布尔运算付符
(1)and———->并且
#布尔值运算 and, or , not, i n , not inprint('------------并且----------------')a,b=1,2 #解包赋值print(a==1,b==2) #True a等于1并且b等于2---print(a==1 and b<2) #False a等于1并且b小于2print(a!=1 and b==2) #False a不等于1并且b等于2print(a!=1 and b!=2) #False a不等于1并且b不等于2
(2)or————->或者
print('--------------or或者-------------')a,b=1,2 #解包赋值print(a==1 or b==2) #True a等于1或者b等于1print(a==1 or b<2) #True a等于1或者b小于1print(a!=1 or b==2) #True a不等于1或者b等于1print(a!=1 or b!=2) #False a不等于1或者b不等于2
(3)not(非)—————>对bool类型操作数取反
print('-------------not对bool类型操作数取反----------')f=Truef2=Falseprint(not f) #对f取反print(not f2) #对f2取反
如果运算数为True,运算结果为False
如果运算结果为False,运算结果为True
(4) in and not in —————>在和不在
s='helloworld'print('w' in s) #trueprint('c' in s) #falseprint('h' not in s) #Falseprint('p' not in s) #True
位运算符
一、按位与& ——————>
(1)打开calc计算器,找到十进制4和8对应的二级制数,分别为100,1000
注意:
对应数位都是1,结果数位才是1,否则为0
print(4 & 8) #按位与& 同时为1结果为1
二、按位或I ——————>
打开calc计算器,找到十进制4和8对应的二级制数,分别为100,1000。
print(4 | 8) #按位或| 同时为0结果为0
注意
对应数位都是0,结果数位才是0,否则为1
三、左移位运算符<< ——————>高位溢出舍弃,低位补0.

print(4<<1) #向左移动1位(移动一个位置)
注意:
高位溢出舍弃,低位补0.
左移一位相当于乘于二
四、右移位运算符>> ——————>低位溢出舍弃,高位补0

print(4>>1) #向右移动1位(移动一个位置)
注意
低位溢出舍弃,高位补0
向右移动1位(移动一个位置)相当于除于二
三、运算符的优先级
算术运算—->位运算———>比较运算——>布尔运算——->赋值远算
算术运算
‘*’———>’ ‘————>’ / ‘————-> ‘// ‘————->’ % ‘————>’+’ ————>’ -‘
位运算
‘<< ‘———> ‘ >>’ ————> ‘& ‘————> ‘| ‘
比较运算符
‘>’——> ‘<’ ———> ‘>=’ ———-> ‘<=’ ————> ‘==’ ————-> ‘!=’
布尔运算符
赋值运算符
‘=’
