前言
python学习笔记 day2(仅供学习使用)
一、python的输入函数input
作用:接受来自用户的输入
返回值类型:Str
a=int(input('请输入一个加数:'))
#a=int(a) #将转换之后的结果存储到a中
b=int(input('请输入另一个加数:'))
#b=int(b)
print(type(a),type(b))
print(a+b)
运行:
请输入一个加数:1
请输入另一个加数:2
<class 'int'> <class 'int'>
3
二、运算符
print(1+1) # 加法运算
print(1-1) # 减法运算
print(2*4) # 乘法运算
print(1/2) # 除法运算
print(11/2) # 除法运算
print(11//2) # 5 整除运算
print(11%2) # 取余运算
print(2**2) #表示的是2的2次方
print(2**3) #表示的是2的3次方 2*2*2
运行:
2
0
8
0.5
5.5
5
1
4
8
print(9//4) #2
print(-9//-4) # 2
print(9//-4) #-3
print(-9//4) # -3 一正一负的整数公式,向下取整
print(9%-4) # -3 公式 余数=被除数-除数*商 9-(-4)*(-3) 9-12--> -3
print(-9%4) # 3 -9-4*(-3) -9+12--> 3
运行:
2
2
-3
-3
-3
3
三、赋值运算符
i=3+4
print(i)
a=b=c=20 #链式赋值
print(a,id(a))
print(b,id(b))
print(c,id(c))
print('---------支持参数赋值------------')
a=20
a+=30 #相当于a=a+30
print(a)
a-=10 #相当于a=a-10
print(a)
a*=2 #相当于a=a*2
print(a) #int
print(type(a))
a/=3
print(a)
print(type(a)) #float
a//=2
print(a)
print(type(a))
a%=3
print(a)
print('----------解包赋值--------------------')
a,b,c=20,30,40
print(a,b,c)
#a,b=20,30,40 报错,因为左右变量的个数和值的个数不对应
print('-----------交换两个变量的值-------------')
#不需要中间变量,可以直接实现值的互换,代码得到缩短。
a,b=10,20
print('交换之前:',a,b)
#交换
a,b=b,a
print('交换之后:',a,b)
运行:
7
20 4423838976
20 4423838976
20 4423838976
---------支持参数赋值------------
50
40
80
<class 'int'>
26.666666666666668
<class 'float'>
13.0
<class 'float'>
1.0
----------解包赋值--------------------
20 30 40
-----------交换两个变量的值-------------
交换之前: 10 20
交换之后: 20 10
四、比较运算符
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的id标识 ,相等
lst1=[11,22,33,44]
lst2=[11,22,33,44]
print(lst1==lst2) #value -->True
print(lst1 is lst2) #id -->False
print(id(lst1))
print(id(lst2))
print(a is not b ) #False a的id与b的id是不相等的
print(lst1 is not lst2) #True
运行:
a>b吗? False
a<b吗? True
a<=b吗? True
a>=b吗? False
a==b吗? False
a!=b吗? True
True
True
True
False
140285352385472
140285352403904
False
True
五、布尔运算符
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 or True -->True
print(a==1 or b<2) #True or False -->True
print(a!=1 or b==2) #False or True -->True
print(a!=1 or b!=2) #False or False -->False
print('----------------not 对bool类型操作数取反-------------------')
f=True
f2=False
print(not f)
print(not f2)
print('------------in 与not in------------------------------')
s='helloworld'
print('w' in s)
print('k' in s)
print('w' not in s ) #False
print('k' not in s) #True
运行:
------------------and 并且--------------------------
True
False
False
False
----------------or 或者----------------------
True
True
True
False
----------------not 对bool类型操作数取反-------------------
False
True
------------in 与not in------------------------------
True
False
False
True
六、位运算符
位运算符:将数据转为二进制进行运算。
按位于:
按位或:
左位移:
右位移:
代码:
print(4&8) #按位与& ,同为1时结果为1
print(4|8) #按位或| ,同为0时结果为0
print(4<<1) #向左移动1位(移动一个位置) 相当于乘以2
print(4<<2) #向左移动2位(移动2个位置)
print(4>>1) #向右移动1位,相当于除以2
print(4>>2) #向右移动2位,相当于除以4
运行:
0
12
8
16
2
1
七、运算符优先级
算书运算符>位运算符>比较运算符>布尔运算符
总结
基础。