主要介绍例子,从实例中理解语法
input函数
简单介绍:
1、input()返回的是一个字符串
2、括号里面的提示内容
例1:
pre=input("你想输入什么内容呢?\n")
print(pre)
print(type(pre))
结果:
例2:
x=int(input("请输入第一个整数:"))
y=int(input("请输入第二个整数:"))
print(x+y)
运算符
算术运算符
print(1+1) # 执行加法运算 结果:2
print(1-1) # 减法运算 结果:0
print(2*4) # 乘法运算 结果:8
print(1/2) # 除法运算 结果:0.5
print(11//2) # 整除运算 结果:5
print(11%3) # 取余运算 结果:2
print(11**2) # 幂运算 结果:121
其中**是表示幂运算,表示的是11的二次方为121
/是表示除法,可能会出现小数
//表示的是整除,结果是整数
下面介绍一种特殊的情况
例1:
这种简单,不再赘述
print(9//4) #2
print(-9//-4) #2
例2:
# 一正一负相除向下取整
print(9//-4) #-3
print(-9//4) #-3
9/-4就是-9÷4结果为-2.25,向下取整为-3
例3:
print(9%-4) #-3
print(-9%4) #3
余数=被除数-除数*商
9%-4=9-(-4)×(-3)=-3
-9%4=-9-4×(-3)=3
赋值运算符
例1:
k=3+4
print(k) # 7
将3+4的赋给k
支持链式赋值
# 支持链式赋值
a=b=c=20
print(a,id(a))
print(b,id(b))
print(c,id(c))
将20赋值给c,c再赋值给b,b再赋值给a
支持参数赋值
a=20
a+=30 # 相当于a=a+30
print(a) # 50
a-=10 # 相当于a=a-10
print(a) # 40
类似的还可以a*=10,a/=10,a//=10,a%=10
和上面的:a+=30 等价 a=a+30
支持系列解包赋值
# 支持系列解包赋值
# 变量个数和值的个数一样
a,b,c=20,30,40
print(a,b,c) # 20 30 40
注意左边变量的个数和右边值的个数必须是一样的
例子:交换两个数
# print('----交换变量的值----')
a,b=10,20
print("交换前:",a,b)
a,b=b,a
print("交换后:",a,b)
比较运算符
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
其中a>b还是a<b返回的只有True和False
注意了:之前的=是赋值运算符,此处的==是比较运算符,二者不一样
扩展一下
前面说变量由标识,类型,值组成
==比较的是值,is比较的是两个对象的id(标识)
例子:
a=10
b=10
print(a==b) # True 说明a与b的value相等
print(a is b)# True 说明a与b的id标识相等
a,b两个引用指向了同一个对象10,所以id是一样的
但是在列表中是不一样的
例子:
list1=[11,22,33,44]
list2=[11,22,33,44]
print(list1==list2) # True
print(list1 is list2)# False
print(id(list1),id(list2))
print(list1 is not list2)
二者值相同,但是指向不同的对象(后面细讲列表)
布尔运算符
# 布尔运算符
a,b=1,2
print('---------and--------')
print(a==1 and b==2) # True
print(a==1 and b<2) # False
print(a!=1 and b==2) # False
print(a!=1 and b!=2) # False
print('--------or或者---------')
print(a==1 or b==2) # True
print(a==1 or b==2) # True
print(a!=1 or b==2) # True
print(a!=1 or b!=2) # False
print('------not对运算数取反-----')
f1=True
print(not f1) # False
and :二者都为True则为True,否则为False
or:二者都为False则为False,否则为True
not:原来是true,结果为False,原来是False,结果是True
还有一个int ,not in
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
in如果在这个里面,则为True,否则为False
not in 如果不在里面,则为True,否则为True
位运算符
# 位运算符
print(4&8) #0 按位与
print(4|8) #12 按位或
print(4<<1) # 向左移动1位(移动一个位置)4
print(4<<2) # 向左移动2位(移动2个位置)
print(4>>1) # 向右移动1位,相当于除以2
print(4>>2) # 向右移动2位,相当于除以2*2
注意:
1、4&8就是将4和8转换为二进制,然后对每一位进行&运算,最后将&后的二进制转换成十进制输出
2、4|8就是转成二进制,每一位进行|运算,最后变为十进制输出
3、4<<1就是将二进制左移一位,将移出去的高位去掉,低位补0,然后变为十进制
4、4>>1将二进制右移一位,将移出去的低位去掉,高位补0,然后变成二进制
注意了:向右移动1位,相当于除以2,向左详单与乘以2
运算优先级
python运算符优先级
算术运算符(**,*,/,//,%)>位运算符(&,|,>>,<<)>比较运算符(>,>=,<,<=,==,!=)>布尔运算符(and,or)>赋值运算符(=)
右括号再算括号