运算符
- 运算符的概念
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。 - 运算符的分类
运算符大致分为:算术运算符、赋值运算符、比较运算符、逻辑运算符。
算术运算符
- 加法运算符 表现形式 +
- 减法运算符 表现形式 -
- 乘法运算符 表现形式 *
- 除法运算符 表现形式 /
- // 整除,只会保留计算后的整数位,总会返回⼀个整型
- % 取模,求两个数相除的余数
- ** 幂运算,求⼀个值的⼏次幂
赋值运算符
赋值运算符的特殊写法 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 )
比较运算符
⽐较运算符⽤来⽐较两个值之间的关系,总会返回⼀个布尔值.如果关系成⽴,返回True,否则返回False
⽐较左侧值是否⼤于右侧值
= ⽐较左侧的值是否⼤于或等于右侧的值
< ⽐较左侧值是否⼩于右侧值
<= ⽐较左侧的值是否⼩于或等于右侧的值
r = '2' > '1' #T 👉ord('2')=50 ord('1')=49 即‘2’>''1',返回True
r = '2' > '11' #T 👉对位比较 # '11'是字符串二不是数字即'11'='1'+'1',‘2’>'1',返回True
r = 'a' > 'b' #F 👉ord('a')=97 ord('b')=98即'a' <'b',返回False
r = 'c' < 'b' #F 👉ord('c')=99 ord('b')=98即'c' >'b',返回False
r = 'ab' > 'a' #T 👉比较先比较第一位,若第一位相同则比较后一位;‘a'='a','b'>0
r = 'ab' > 'b' #F 👉比较先比较第一位;‘a'<'b',返回False
特殊的⽐较⽅式
== ⽐较两个对象的值是否相等
!= ⽐较两个对象的值是否不相等
is ⽐较两个对象是否是同⼀个对象,⽐较的是对象的id
is not ⽐较两个对象是否不是同⼀个对象,⽐较的是对象的id
逻辑运算符
- not 逻辑⾮
not可以对符号右侧的值进⾏⾮运算对于布尔值,⾮运算会对其进⾏取反操作,True变False,False变True - and 逻辑与
- and可以对符号两侧的值进⾏与运算。 只有在符号两侧的值都为True时,才会返回True,只要有⼀个False就返回False。
- 与运算是找False的,如果第⼀个值为False,则不再看第⼆个值。
- or 逻辑或
- 或运算两个值中只要有⼀个True,就会返回True。
- 或运算是找True的
- ⾮布尔值的与或运算
- 当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会返回原值。
- ⾮布尔值与运算的规则
- 与运算是找False的,如果第⼀个值是False,则不看第⼆个值。如果第⼀个值是False,则直接返回第⼀个值,否则返回第⼆个值。
- 或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个值是True,则直接返回第⼀个值,否则返回第⼆个值。
r = 1 and 2 #2 #都为真时返回最后一个值,若中途存在假则返回0
r = 2 and 1 #1
r = 0 & 1 #0
r = 1 or 2 #1 👉第一个为真时返回数据
r = 2 or 1 #2
r = 0 or 2 #2