Loading

Python笔记04——运算符

四、运算符

(以下假设变量 a=10,变量 b=21)

4.1 【算数运算符】

运算符 描述 实例
+ 加 , 两个对象相加 a + b 输出结果 31
- 减 , 得到负数或是一个数减去另一个数 a - b 输出结果 -11
* 乘 , 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210
/ 除 , x 除以 y b / a 输出结果 2.1
% 取模 , 返回除法的余数 b % a 输出结果 1
** 幂 , 返回x的y次幂 a**b 为10的21次方
// 取整除 , 往小的方向取整数 >>> 9//2→4
>>> -9//2→-5

4.2 【比较运算符】

运算符 描述 实例
== 等于,返回对象是否相等 (a == b) 返回 False
!= 不等于,返回个对象是否不相等 (a != b) 返回 True
> 大于,返回x是否大于y (a > b) 返回 False
< 小于,返回x是否小于y (a < b) 返回 True
>= 大于等于,返回x是否大于等于y (a >= b) 返回 False
<= 小于等于,返回x是否小于等于y (a <= b) 返回 True

4.3 【赋值运算符】

运算符 描述 实例
= 简单的赋值运算符 c = a + b,将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
:= 海象运算符(3.8版新增) 同时进行赋值和返回赋值

4.4 【位运算符】

位运算符是把数字看作二进制进行计算。
(以下假设变量 a = 60 → 0011 1100,变量 b = 13 → 0000 1101)

运算符 描述 实例
& 位与运算符,如果两个对应位都为1,结果位为1,否则为0 (a & b) 输出结果 12 ,二进制为: 0000 1100
| 位或运算符,只要两个对应位有一个为1,结果位为1 (a | b) 输出结果 61 ,二进制为: 0011 1101
^ 位异或运算符,当两个对应位相异时,结果位为1 (a ^ b) 输出结果 49 ,二进制为: 0011 0001
~ 位取反运算符,二进制位取反,把1变为0,把0变为1。~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制为: 1100 0011, 在一个有符号二进制数的补码形式。
<< 左移运算符,各二进位全部左移若干位 a << 2 输出结果 240 ,二进制为: 1111 0000
>> 右移动运算符,各二进位全部右移若干位 a >> 2 输出结果 15 ,二进制为: 0000 1111

4.5 【逻辑运算符】

(以下假设变量 a = 10, b = 20)

运算符 逻辑表达式 描述 实例
and x and y 布尔"与",如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值 (a and b) 返回 20
or x or y 布尔"或",如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10
not not x 布尔"非",如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

4.6 【成员运算符】

作用:在某序列(字符串、列表或元组)中搜索某成员是否存在

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

4.7 【身份运算符】

作用:用于比较两个对象的存储单元

运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(x) != id(y)。如果引用的不是同一个对象则返回结果 True,否则返回 False

注1: id() 函数用于获取对象内存地址
注2:is与==区别——is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

注2示例
>>>a = [1, 2, 3]
>>> b = a
>>> b is a 
True
>>> b == a
True
>>> b = a[:]
>>> b is a
False
>>> b == a
True

4.8【运算符优先级】

圆括号》调用》指数》正负非》乘除取余》加减》移位》位与》位异或》位或》比较运算》逻辑非》逻辑与》逻辑或》条件表达式》lambda表达式》赋值表达式

posted @ 2024-02-02 17:52  CodingPikachu  阅读(3)  评论(0编辑  收藏  举报