Python学习笔记(四)算术运算符
一、算术运算符
| 运算符 | 说明 | 实例 | 结果 |
|---|---|---|---|
| + | 加 | 12.45 + 15 | 27.45 |
| - | 减 | 4.56 - 0.26 | 4.3 |
| * | 乘 | 5 * 3.6 | 18.0 |
| / | 除法(和数学中的规则一样) | 7 / 2 | 3.5 |
| // | 整除(只保留商的整数部分) | 7 // 2 | 3 |
| % | 取余,即返回除法的余数 | 7 % 2 | 1 |
| ** | 幂运算/次方运算,即返回 x 的 y 次方 | 2 ** 4 | 16,即 24 |
二、赋值运算符
| 运算符 | 说 明 | 用法举例 | 等价形式 |
|---|---|---|---|
| = | 最基本的赋值运算 | x = y | x = y |
| += | 加赋值 | x += y | x = x + y |
| -= | 减赋值 | x -= y | x = x - y |
| *= | 乘赋值 | x *= y | x = x * y |
| /= | 除赋值 | x /= y | x = x / y |
| %= | 取余数赋值 | x %= y | x = x % y |
| **= | 幂赋值 | x **= y | x = x ** y |
| //= | 取整数赋值 | x //= y | x = x // y |
| &= | 按位与赋值 | x &= y | x = x & y |
| |= | 按位或赋值 | x |= y | x = x | y |
| ^= | 按位异或赋值 | x ^= y | x = x ^ y |
| <<= | 左移赋值 | x <<= y | x = x << y,这里的 y 指的是左移的位数 |
| >>= | 右移赋值 | x >>= y | x = x >> y,这里的 y 指的是右移的位数 |
三、比较运算符
| 比较运算符 | 说明 |
|---|---|
| > | 大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。 |
| < | 小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。 |
| == | 等于,如果==两边的值相等,则返回 True,否则返回 False。 |
| >= | 大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。 |
| <= | 小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。 |
| != | 不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。 |
四、逻辑运算符
| 逻辑运算符 | 含义 | 基本格式 | 说明 |
|---|---|---|---|
| and | 逻辑与运算,等价于数学中的“且” | a and b | 当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。 |
| or | 逻辑或运算,等价于数学中的“或” | a or b | 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。 |
| not | 逻辑非运算,等价于数学中的“非” | not a | 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。 |
五、成员运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
| not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
六、身份运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
| is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
注:is 判断两个数据是否绝对相等,内存地址是否一样
示例:
1 l1 = [1, 2, 3] 2 print(l1, id(l1)) # id 返回的是内存地址 3 l2 = l1.copy() # 复制这个列表 scrapy框架 如果是三层循环 copy 深浅拷贝 4 print(l2, id(l2)) 5 l3 = l1 6 print(l3, id(l3)) 7 print(l1 is l2) # 判断的是内存地址 8 print(l1 is not l2) # 判断的是内存地址 9 print(l1 == l2) # 比较的是我们两个列表值 10 print(l1 is l3)

七、其他
1.优先级:比较运算符(< > ==)高于 not 高于 and 高于 or
2.单个数值的布尔类型 所有单个数据都有一个布尔类型,判断时属于错误的是 :
1)' '
2)None
3)0
4)False

浙公网安备 33010602011771号