1运算符
1.1运算符的概念
运算符⽤于执⾏程序代码运算,会针对⼀个以上操作数项⽬来进⾏运算。例
如:2+3,其操作数是2和3,⽽运算符则是“+”。
1.2运算符的分类
算术运算符
赋值运算符
⽐较运算符(关系运算符)
逻辑运算符
条件运算符(三元运算符)
2算术运算符
加法运算符 表现形式 +
减法运算符 表现形式 -
乘法运算符 表现形式 *
除法运算符 表现形式 /
// 整除,只会保留计算后的整数位,总会返回⼀个整型
% 取模,求两个数相除的余数
** 幂运算,求⼀个值的⼏次幂
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 )
/= (x /= 3 相当于 x = x/ 3 )
//= (x //= 3 相当于 x = x // 3 )
%= (x %= 3 相当于 x= x % 3 )
4. ⽐较运算符
⽐较运算符⽤来⽐较两个值之间的关系,总会返回⼀个布尔值.如果关系成
⽴,返回True,否则返回False
‘>’ ⽐较左侧值是否⼤于右侧值
‘>=’ ⽐较左侧的值是否⼤于或等于右侧的值
< ⽐较左侧值是否⼩于右侧值
<= ⽐较左侧的值是否⼩于或等于右侧的值
特殊的⽐较⽅式
== ⽐较两个对象的值是否相等
!= ⽐较两个对象的值是否不相等
is ⽐较两个对象是否是同⼀个对象,⽐较的是对象的id
is not ⽐较两个对象是否不是同⼀个对象,⽐较的是对象的id
5 逻辑运算符
5.1 not 逻辑⾮
not可以对符号右侧的值进⾏⾮运算对于布尔值,⾮运算会对其进⾏取反操
作,True变False,False变True。
5.2 and 逻辑与
and可以对符号两侧的值进⾏与运算。 只有在符号两侧的值都为True时,才
会返回True,只要有⼀个False就返回False。
与运算是找False的,如果第⼀个值为False,则不再看第⼆个值。
5.3 or 逻辑或
或运算两个值中只要有⼀个True,就会返回True。
或运算是找True的。
5.4 ⾮布尔值的与或运算
当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会
返回原值
⾮布尔值与运算的规则
与运算是找False的,如果第⼀个值是False,则不看第⼆个值。如果第⼀
个值是False,则直接返回第⼀个值,否则返回第⼆个值
⾮布尔值或运算的规则
或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个
值是True,则直接返回第⼀个值,否则返回第⼆个值
6 条件运算符(三元运算符)
条件运算符在执⾏时,会先对条件表达式进⾏求值判断
如果判断结果为True,则执⾏语句1,并返回执⾏结果
如果判断结果为False,则执⾏语句2,并返回执⾏结果
语法: 语句1 if 条件表达式 else 语句2
老师没有讲到的重点:即多条if语句的顺序判定。当有2个以上的if时候。如果第二个if的起始位置和第一个if是对齐的,则其顺序是执行完第一个if语句,再执行第二个if语句。而如果第二个if和第一个else的“:”是对齐的,那么只有在执行else的时候,才执行第二个if语句。
可以从下面的程序测试图发现:
测试2种,abc赋值321,那么当a大于b时候,a值赋值给x,否则b值赋值给x。之后再用ab最大的和c值比较。但是,由于第二个if是只有执行“第一个”else命令时候才启动,因此第二个if命令没有被执行。而当测试3中,abc赋值123,可以执行到第一个else,则第二个if开始执行。
其结构如下
if
else:
if
else:
if
else:
if
else: