Python学习-day5(input()函数的使用,进阶,运算符)

 


input()函数的使用

基本用法

示例:

input()进阶

两个数相加,从键盘输入的都是str类型,需要使用int()类型转换函数进行处理后,在相加,处理之前是1+2=12,处理之后是1+2=3。

a=int(input('请输入一个加数:'))
b=int(input('请输入另一个加数:'))
print(type(a),type(b))
print(a+b)

运算符 

1.算数运算符

基本运算:
print(1+1)#加法运算
print(1-1)#减法运算
print(1*2)#乘法运算
print(1/2)#除法运算,结果0.5
print(11//2)#整除运算,结果5
print(11%2)#取余运算,结果为1
print(2**3)#幂运算,结果 为8
 特殊运算:

整除和取余

代码示例,注释是答案 

print(9//4)#2
print(-9//-4)#2
print(9//-4)#-3**
print(-9//4)#-3** 一正一负,向下取整

print(9%-4)#-3 余数=被除数-除数*(整除得)商  9-(-4)*(-3)=-3
print(-9%4)#3                   -9-4*(-3)=3

2.赋值运算符

执行顺序 

代码验证:

i=3+4#从右往左为7
print(i)

链式赋值示意图(只有一个实体):

代码:

a=b=c=20#链式赋值
print(a,id(a))
print(b,id(b))
print(c,id(c))
参数赋值

为什么:

在a*2时还是int型

到a/3就变为float型

代码:

print('------------------支持参数赋值---------------')
a=20
a+=20   #相当于a=a+2一下以此类推
print(a)
a-=10
print(a)
a*=2
print(a)
print(type(a))
a/=3
print(a)
print(type(a))
a//=2
print(a)
a%=3
print(a)
系列解包赋值

系列解包赋值使python在交换两个变量的值时,变得非常方便,不用像c/c++,java等引入第三个变量

代码:

print('-------------------支持系列解包赋值-------------------')
a,b,c=20,30,40
print(a,b,c)
print('---------交换两个变量得值----------')
a,b=b,a
print('交换:',a,b)

3.比较运算符

代码如下: 

a,b=10,20
print('a>b吗?',a>b)#False
print('a<b吗?',a<b)#True
print('a<=b吗?',a<=b)#True
print('a>=b吗?',a>=b)#False
print('a=b吗?',a==b)#False
print('a!=b吗?',a!=b)#True
'''一个=是赋值运算符,两个==为比较运算符
    一个变量由三部分组成标识 类型 值
    ==比较的是值还是标识呢? 比较的是值
    比较对象的标识使用是 is
'''
a=10
b=10
print(a==b)#True a与b的value相等
print(a is b)#True a与b的标识相等
#没学过代码,先入为主,后面再详细讲
list1=[11,22,33,44]
list2=[11,22,33,44]
print(list1==list2)#value->True
print(list1 is list2)#id->False
print(id(list1))
print(id(list2))
print(a is not b)#False
print(list1 is not list2)#True

关于变量a,b的is用法是比较id所以为true。==是比较value所以为true。

4.布尔运算符

大半部分理解其英文含义配上代码,就可以轻松理解了 

a,b=1,2
print('------------------------------------and并且-----------------------------------')
print(a==1 and b==2)#True  True and True->True
print(a==1 and b<2)#False  True and False->False
print(a!=1 and b==2)#False False and True->False
print(a!=1 and b!=2)#False False and False->False

print('-------------------------------------or 或者-----------------------------------')
print(a==1 or b==2)#True     True and True->True
print(a==1 or b<2)#True      True and False->True
print(a!=1 or b==2)#False    False and True->True
print(a!=1 or b!=2)#False    False and False->False

print('----------------------------not  对bool类型运算符取反-------------------------')
f=True
f2=False
print(not f)#False
print(not f2)#True

print('-----------------------------in与not in-------------------------------------')
s='helloworld'
print('w' in s)#True
print('k' in s)#False
print('w' not in s)#False
print('k' not in s)#True

5.位运算符 

按位运算是将数字换成二进制,然后每个位对齐计算

4 & 8
000001004
000010008
000000000
4|  8
000001004
000010008
0000110012
4<<1
高位溢出00000100低位补04
0000010008

                                                                        4>>1 

高位补000000100低位溢出4
0000001002

代码如下:

print(4&8)#按位与,同为1时结果为1
print(4|8)#按位或,同为0时结果为12
print(4<<1)#左移1位,原来数*2结果为8
print(4>>1)#右移1位,原来数/2结果为2

6.运算符的优先级

0.有括号先算括号里的 

1.先算算数运算符,再算位运算符,再算比较运算符,再算布尔运算符,最后赋值运算符

2.算数运算符,先算乘除(整除,取余),后算加减,遇到幂先算幂

3.先算位移动,再与,最后或

4.比较同一优先级

5.先 and再or

6.最后赋值运算符

今日总结


不积跬步无以至千里,不积小流无以成江海

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值