PYTHON 运算符

1.1 运算符

运算符也称操作符,主要有算术,关系,逻辑,位等。

1.2 算术运算符

用于整数,浮点数的计算。

运算符 描述 实例
+ 加 - 两个对象相加 a + b
- 减 - 得到负数或是一个数减去另一个数 a - b
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b
/ 除 - x 除以 y b / a
% 取模 - 返回除法的余数 b % a
** 幂 - 返回x的y次幂 a**b
// 取整除 - 向下取接近商的整数 a // b

有些语言两个整数相除取整数部分,python则是浮点数。

对于字符串类型:+是重载为连接运算,*是重载为重复运算。

1.3 关系运算

以下假设变量a为10,变量b为20:

运算符 描述 实例
== 等于 (a == b) 返回 False。
!= 不等于 (a != b) 返回 True。
> 大于 (a > b) 返回 False。
< 小于 (a < b) 返回 True。
>= 大于等于 (a >= b) 返回 False。
<= 小于等于 (a <= b) 返回 True。

关系运算用于比较整数,小数,也可以比较字符串,元组,列表等。

1.4 赋值运算符

以下假设变量a为10,变量b为20:

运算符 描述 实例
= 赋值 c = a + b
+= 加法赋值 c += a
-= 减法赋值 c -= a
*= 乘法赋值 c *= a
/= 除法赋值 c /= a
%= 取模赋值 c %= a
**= 幂赋值 c **= a
//= 整除赋值 c //= a
:= 海象运算符 可在表达式内部为变量赋值。

复合赋值就是简化表达式的写法,如: c+=a 相当于 c = c + a

a = [1, 2, 3, 4, 5]
if n := len(a) < 10:  # 在表达式内部为变量赋值
    print("< 10")

1.5 逻辑运算

运算符 逻辑表达式 描述 实例
and x and y 与 - x,y都为True结果为True a and b
or x or y 或 - 有一个为True结果为True a or b
not not x 非 - 状态取返 not a

注意:逻辑运算是采用短路设计的

and 运算,如果第一个操作数为False,则不计算第二个表达式(因为已经能确定整个表达式的值了)

or 运算,如果第一个操作数为True,则不计算第二个表达式

1.6 位运算

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

下表中变量 a 为 60,b 为 13二进制格式如下:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011
运算符 描述 实例
& 位与:两个值都为1,结果为1,否则为0 a & b
| 位或:两个位有一个为1,结果为1,否则为0 a | b
^ 位异或:两个位相异,结果为1 ,否则为0 a ^ b
~ 取反:把1变为0,把0变为1 ~a
<< 左移:位左移,低位补0 a << 2
>> 右移:位右移,高位补符号位,移出的丢弃 a >> 2

1.7 成员运算

测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符 描述 实例
in 在序列中返回 True,否则返回 False。 x in mylist
not in 不在序列中返回 True,否则返回 False。 x not in mylist

1.8 身份运算

身份运算符用于比较两个对象的存储单元

运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y)
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(x) != id(y)

注: id() 函数用于获取对象内存地址。

1.9 运算符的优先级

从高到低:算术 > 位 > 关系 > 逻辑 > 赋值

一般不用计,用()改变运算顺序更直观。

posted @ 2022-11-29 10:27  叁只小羊  阅读(300)  评论(0)    收藏  举报