本文最后更新于1010 天前,其中的信息可能已经过时,如有错误请发送邮件到2192492965@qq.com
python所有运算符及其说明
所有运算符一览
| 运算符 | 名称 | 说明 |
|---|---|---|
| + | 加 | 加法运算符 |
| - | 减 | 减法运算符 |
| * | 乘 | 乘法运算符 |
| / | 除 | 除法运算符 |
| // | 整除 | 整数除法运算符 |
| % | 取模 | 取模(求余数)运算符 |
| ** | 幂 | 幂运算符 |
| == | 等于 | 比较运算符,判断两个值是否相等 |
| != | 不等于 | 比较运算符,判断两个值是否不相等 |
| > | 大于 | 比较运算符,判断左边的值是否大于右边的值 |
| < | 小于 | 比较运算符,判断左边的值是否小于右边的值 |
| >= | 大于等于 | 比较运算符,判断左边的值是否大于或等于右边的值 |
| <= | 小于等于 | 比较运算符,判断左边的值是否小于或等于右边的值 |
| and | 与 | 逻辑运算符,判断多个条件是否同时成立 |
| or | 或 | 逻辑运算符,判断多个条件是否有一个成立 |
| not | 非 | 逻辑运算符,对条件取反 |
| in | 在...中 | 成员运算符,判断一个值是否在指定序列中 |
| not in | 不在...中 | 成员运算符,判断一个值是否不在指定序列中 |
| is | 是 | 身份运算符,判断两个变量是否引用同一个对象 |
| is not | 不是 | 身份运算符,判断两个变量是否引用不同的对象 |
| & | 按位与 | 二进制按位与运算符 |
| | | 按位或 | 二进制按位或运算符 |
| ^ | 按位异或 | 二进制按位异或运算符 |
| ~ | 按位取反 | 二进制按位取反运算符 |
| << | 左移 | 二进制左移运算符 |
| >> | 右移 | 二进制右移运算符 |
| += | 加等于 | 累加运算符,将左边变量加上右边的值 |
| -= | 减等于 | 累减运算符,将左边变量减去右边的值 |
| *= | 乘等于 | 累乘运算符,将左边变量乘以右边的值 |
| /= | 除等于 | 累除运算符,将左边变量除以右边的值 |
| //= | 整除等于 | 累整除运算符,将左边变量整除右边的值并赋值给左边变量,结果为整数 |
| %= | 取模等于 | 累取模运算符,将左边变量对右边的值取模并赋值给左边变量 |
| **= | 幂等于 | 累幂运算符,将左边变量的值乘方右边的值并赋值给左边变量 |
| &= | 按位与等于 | 累按位与运算符,将左边变量按位与右边的值进行运算并赋值给左边变量 |
| |= | 按位或等于 | 累按位或运算符,将左边变量按位或右边的值进行运算并赋值给左边变量 |
| ^= | 按位异或等于 | 累按位异或运算符,将左边变量按位异或右边的值进行运算并赋值给左边变量 |
| <<= | 左移等于 | 累左移运算符,将左边变量左移右边的值的位数并赋值给左边变量 |
| >>= | 右移等于 | 累右移运算符,将左边变量右移右边的值的位数并赋值给左边变量 |
分类
按照其功能分类为以下几类:
- 算术运算符:用于数值计算,包括加、减、乘、除、取模、整除、幂等等运算符。例如:
+、-、*、/、%、//、**。 - 比较运算符:用于比较两个值的大小或关系,结果为布尔值。例如:
==、!=、>、<、>=、<=。 - 逻辑运算符:用于逻辑计算,包括与、或、非等运算符。例如:
and、or、not。 - 位运算符:用于对二进制数据进行位运算,包括按位与、按位或、按位异或、取反、左移、右移等运算符。例如:
&、|、^、~、<<、>>。 - 赋值运算符:用于将值赋给变量,包括普通赋值、累加赋值、累减赋值、累乘赋值、累除赋值、累模赋值、累整除赋值、累幂赋值等运算符。例如:
=、+=、-=、*=、/=、%=、//=、**=。 - 身份运算符:用于比较两个对象是否是同一个对象,包括is和is not运算符。例如:
is、is not。 - 成员运算符:用于判断一个值是否在另一个容器类型的对象中,包括in和not in运算符。例如:
in、not in。
进阶
常见的高阶用法包括:
- 运算符重载:Python允许自定义类的行为,包括对运算符的操作进行自定义,以实现更灵活的数据处理和代码编写。比如,我们可以自定义类的加法运算符,让它支持对两个对象的相加运算。
- 链式比较:Python中的比较运算符可以进行链式比较,也就是可以连续使用多个比较运算符,实现多重比较。比如,我们可以使用
x < y < z的形式进行三个变量的比较,避免写出多个逻辑运算符。 - 三元表达式:Python中的三元表达式可以让我们在一行代码中完成条件判断和值的赋值操作,比如可以使用
x = a if a > b else b的形式,将a和b中的较大值赋值给x。 - 布尔运算的短路效应:在Python中,逻辑运算符和位运算符的操作数可以是任何对象,而不仅仅是布尔值。当进行逻辑或
or和逻辑与and运算时,如果第一个操作数能够确定整个表达式的结果,那么就不会对第二个操作数进行求值,从而提高代码的效率。这种行为被称为短路效应。










