python中的运算符和优先级

在 Python 中,运算符分为多种类型,包括算术运算符、比较运算符、逻辑运算符等。运算符之间有优先级规则,决定了表达式的计算顺序。

以下是 Python 中的运算符分类及优先级:


1. 运算符分类

(1) 算术运算符

用于数学运算:

运算符描述示例
+加法3 + 2 -> 5
-减法3 - 2 -> 1
*乘法3 * 2 -> 6
/除法(浮点除法)5 / 2 -> 2.5
//整除(地板除法)5 // 2 -> 2
%取余5 % 2 -> 1
**幂运算(指数)2 ** 3 -> 8

(2) 比较运算符

用于比较两个值,结果是布尔值 TrueFalse

运算符描述示例
==等于3 == 3 -> True
!=不等于3 != 4 -> True
>大于5 > 3 -> True
<小于3 < 5 -> True
>=大于等于5 >= 5 -> True
<=小于等于3 <= 4 -> True

(3) 逻辑运算符

用于逻辑判断:

运算符描述示例
and逻辑与True and False -> False
or逻辑或True or False -> True
not逻辑非not True -> False

(4) 位运算符

用于按位操作:

运算符描述示例
&按位与5 & 3 -> 1
|按位或5 | 3 -> 7
^按位异或5 ^ 3 -> 6
~按位取反(补码)~5 -> -6
<<左移位5 << 1 -> 10
>>右移位5 >> 1 -> 2

(5) 赋值运算符

用于将值赋给变量:

运算符描述示例
=简单赋值x = 5
+=加法赋值x += 3 -> x = x + 3
-=减法赋值x -= 2 -> x = x - 2
*=乘法赋值x *= 4 -> x = x * 4
/=除法赋值x /= 2 -> x = x / 2
//=整除赋值x //= 2
%=取余赋值x %= 3
**=幂赋值x **= 2
&=按位与赋值x &= 1
|=按位或赋值x &= 1
^=按位异或赋值x ^= 3
<<=左移位赋值x <<= 2
>>=右移位赋值x >>= 2

(6) 成员运算符

用于判断某个值是否是序列的成员:

运算符描述示例
in如果在指定序列中返回 True'a' in 'apple' -> True
not in如果不在指定序列中返回 True'b' not in 'apple' -> True

(7) 身份运算符

用于比较两个对象的身份:

运算符描述示例
is判断两个对象是否是同一对象x is y -> True
is not判断两个对象是否不是同一对象x is not y -> True

2. 运算符优先级

运算符的优先级决定了在没有括号的情况下,表达式的计算顺序。以下是从高到低的优先级:

优先级运算符说明
1()圆括号
2**幂运算
3+x, -x, ~x正负号、按位取反
4*, /, //, %乘、除、整除、取余
5+, -加法、减法
6<<, >>左移、右移
7&按位与
8^按位异或
9|按位或
10in, not in, is, is not, >, <, >=, <=, !=, ==比较运算符
11not逻辑非
12and逻辑与
13or逻辑或
14=, +=, -=, *=赋值运算符

3. 注意事项

  1. 括号提升优先级: 使用括号可以显式地改变运算顺序。例如:

    result = (2 + 3) * 4 # 优先计算 2 + 3
  2. 链式比较: Python 支持链式比较,如:

    1 < x < 10 # 等同于 (1 < x) and (x < 10)
  3. 逻辑运算符的短路特性

    • and:如果第一个条件为 False,后面的条件不再计算。
    • or:如果第一个条件为 True,后面的条件不再计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值