1.运算符
1.1运算符的概念
- 运算符用于执行程序代码运算,会针对⼀个以上操作数项目来进行运算。例 如:2+3,其操作数是2和3,而运算符则是“+”
1.2运算符的分类
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 条件运算符(三元运算符)
2.算术运算符
- 加法运算符 表现形式 +
print(1 + 1)
#得出的结果就是2
- 减法运算法 表现形式 -
print(1-1)
#得出的结果就是0
- 乘法运算符 表现形式 *
print(1*2)
#得出的结果就是2
- 除法运算符 表现形式 /
print(4/2)
#得出的结果就是2
- // 整除,只会保留计算后的整数位,总会 返回一个整型
print(6//2)
#得出的结果是3
- % 取模,求两个数相除的余数
print(122%10)
#得出的结果是2
- ** 幂运算,求一个值的几次幂
print(2**3)
#得出的结果是8
3.赋值运算符
赋值运算符的特殊写法 x=x+3 其实是和 x+=3 是一样的
+= (x=x+3相当于 x+=3)
-= (x=x-3相当于 x-=3)
*= (x=x*3相当于 x*=3)
**= (x**=3相当于 x=x**3)
/= (x /= 3 相当于 x = x/ 3 )
//= (x //= 3 相当于 x = x // 3 )
%= (x %= 3 相当于 x= x % 3 )
4. 比较运算符
- 比较运算符用来比较两个值之间的关系,总会返回⼀个布尔值.如果关系成立,返回True,否则返回False
1>0 #结果返回值是True
1<0 #结果返回值是False
- 大于(>) 比较左侧值是否大于右侧值
2>1 #结果返回值是True
2>3 #结果返回值是False
- 大于等于(>=) 比较左侧的值是否大于或等于右侧的值
4>=2 #结果返回值是True
2>=3 #结果返回值是False
- 小于(<) 比较左侧值是否小于右侧值
1<2 #结果返回值是True
5<4 #结果返回值是False
- 小于等于(<=) 比较左侧的值是否小于或等于右侧的值
2<=5 #结果返回值是True
3<=2 #结果返回值是False
4.特殊比较方式
- == 比较两个对象的值是否相等
print(2==2) #结果返回值是True
print(2==3) #结果返回值是False
- != 比较两个对象的值是否不相等
print(2!=3) #结果返回值是True
print(2!=2) #结果返回值是False
- is 比较两个对象是否是同一个对象,比较的是对象的id
print(2 is 2) #结果返回值是True
print(2 is 3) #结果返回值是False
- is not 比较两个对象是否不是同一个对象,比较的是对象的id
print(2 is not 3) #结果返回值是True
print(2 is not 2) #结果返回值是False
5.逻辑运算符
not(非)
and(与)
or(或)
5.1 not 逻辑非
- not可以对符号的右侧的值进行非运算对于布尔值,非运算会对其进行取反操作,True变False,False变True
r=None
r= not r
print('r=',r) #运行结果为r=Ture
-----------------------------------------------------------------------------
r=2
r= not r
print('r=',r) #运行结果为r=False
5.2 and 逻辑与
- and可以对符号两侧的值进行与运算。只有在符号两侧的值都为True时,才会返回True,只要有⼀个False就返回False
- 与运算是找False的,如果第⼀个值为False,则不再看第二个值
result = False and Ture # F
print('result:',result) #运行结果为result=False
-----------------------------------------------------------------------------
result = Ture and Ture # T
print('result:',result) #运行结果为result=Ture
-----------------------------------------------------------------------------
result = False and False # F
print('result:',result) #运行结果为result=False
5.3 or 逻辑或
- 或运算两个值中只要有⼀个True,就会返回True
- 或运算是找True的
result = False or Ture # T
print('result:',result) #运行结果为result=Ture
-----------------------------------------------------------------------------
result = Ture or Ture # T
print('result:',result) #运行结果为result=Ture
-----------------------------------------------------------------------------
result = False or False # F
print('result:',result) #运行结果为result=False
5.4非布尔值的与或运算
- 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
- 非布尔值与运算的规则
·与运算是找False的,如果第⼀个值是False,则不看第二个值。如果第一个值是False,则直接返回第⼀个值,否则返回第二个值 - 非布尔值或运算的规则
·或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个 值是True,则直接返回第⼀个值,否则返回第⼆个值
6.条件运算符(三元运算符)
true执行语句1.png
条件运算符在执行时,会先对条件表达式进行求值判断,如果判断结果为True,则执行语句1,并返回执行结果;如果判断结果为False,则执行语句2,并返回执行结果,语法: 语句1 if 条件表达式 else 语句2
7.运算符的优先级
下表总结了Python中的运算符优先级,从最低优先级(最小绑定)到最高优先级(最大绑定)。同一个框中的运算符具有相同的优先级。除非明确给出语法,否则运算符是二进制的。同一个框中的运算符从左到右分组(除了从右到左分组的组件)。
运算符优先级.png
详情请参见[运算符优先级](https://docs.python.org/3/reference/expressions.html#comparisons)