一, 运算符类型:Python支持数学运算符,逻辑运算符, 比较运算符,赋值运算符,(位运算符)
数字运算符:+(加号) -(减号) * /(除号)//(整除) %(取余)两个***(幂运算符)
A : + - * / 和数学中的加减乘除一样的
print(14+16)
print(100-110)
print(2*3)
print(6/2)
B: //(整除)数字1//数字2 --->让数字1 除以 数字2,结果只取整数
print(6//2) ---- 3
print(6.3//3) ---- 2.0
print(7//2)---3
# 练习,获取234中的百位数上的2
print(234//100)----2
C : %(取余),求余数
print(5%2)---1
print(10%4)---2
应用一:获取一个数的个位数
print(234%10)---4
判断一个数的奇偶性,让这个数对二取余,然后看结果是0(偶数)还是1 (奇数)
print(20%2,23%2,22%2,3%2)-----0 1 0 1
d : **幂运算,x ** y --求x的y次方
print(2**3) ---8
print(10**4)----10000
print(16**0.5) ---4.0 x **0.5==x**(1/2)==x开平方
print(8**(1/3)) --- 2 8 开立方
age=18
print(age+10) --28 # 注意运算符的对象不一定非是是数据,也可以是赋值之后的变量
比较运算符:> (大于) <(小余) ==(等于) !=(不等于)>=(大于等于)<=(小于等于)
补充is的使用 (应付面试)
"""
一个变量有三要素,分别是类型(变量中存储的数据的类型),值(变量中存的数据),地址(变量中真正存储的内容,数据的地址)
查看类型 - type(变量)
值 - 直接使用变量,就是使用值
查看地址 - id(变量)
== 和is 的区别:
==:判断的是值是否相等
is:判断地址是否相等
num=100
print(type(num),num,id(num))--- 100 1573902944
list=[1,2]
list1=[1,2]
list2 = list # 用一个变量给另一个变量赋值的时候,是将变量中储存的数据的地址赋值给另一个变量
print(list,list1)
print(id(list1),id(list))
print(list==list1,list is list1) # true false
print(list==list1,list is list2 ) #true true
如上同样的值赋给list与list1
== 判断的是list与list1的值是否一样
is 判断的是list与list1的储存地址时候一致
3,逻辑运算符:and(逻辑与),or(逻辑或)not(逻辑非)
注: 逻辑运算符的运算对象和运算结果都是布尔值
a, 值1 and 值2 --> 如果两个都为true结果就是true,否则结果是false:相当于生活逻辑中的'并且'
'''
true and true -> true
false and true -> false
true and false -> false
false and false -> false
'''
应用:要求多个条件同时满足的时候,就是用逻辑与运算
短路操作:如果第一个条件是false,就不会去判断第二个条件,直接让整个与运算结果为false
练习:能拿奖学金的条件是成绩必须90分,并且测评分不能低于95
grade=90
score=95
print('是否能拿奖学金',grade>90 and score>=95)
是否能拿奖学金 False
b,值1 or 值2 -->如果两个都为false结果才为false, 否则结果都为true,相当于生活中的
"""
true or true -> true
false or true -> true
true or false -> true
false or false -> false
"""
应用:要求多个条件只要有一个条件满足,就是使用逻辑或运算
如果第一个条件是true,就不会去判断第二个条件,直接让整个与运算结果为true
练习:如果考试成绩低于60分,或者上课不听讲就降班
grade = 70
is_not_inclass = True #True代表不在班级 ,False代表在班级
print('是否降班:',grade < 60 or is_not_inclass) # 是否降班: True
C,not 值 -->对值1进行否定/取反 (不是 否定)
"""
not true -> false
net false -> true
"""
应用:否定某个条件
年龄不小于10岁
age=20
print(not age < 10)---true
4.赋值运算符 =,+=,-=,=,/=,//=,%==,*=
所有的赋值运算符,要求赋值符号的左边必须是变量:右边必须是有结果的(是值)
a.变量 = 结果 --> 将结果赋给变量
num = 100
num2= num #变量给变量赋值,赋给变量的是储存地址
b.+=,-=,=,/=,//=,%==,*=
复合辅助运算符要求赋值符号的左边除了是变量以外,还要求这个变量已经被赋过值
变量 += 数字 --> 变量 = 变量 + 数字(将变量的值加上指定的数字以后的新值再重新赋给变量)
num3 = 2
num3 += 10 # num3 =num3 +10= 2+10
print(num3) #12
num3-=3 # num3 = num3 - 3 =12 - 3
print(num3) #9
运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
数学运算符:** > * , / . %. // > + -
优先级高的先算,优先级低的后算,如果有(),先算()里面的
练习
print(19+20>6**2+4 or 10 + 3<3*3) ---false