Python 3 – 基本运算符

Python 3 – 基本运算符

运算符是用来操作操作数的构造。比如,表达式 4 + 5 = 9 中,4 和 5 被称为操作数,+ 被称为运算符。

运算符类型

Python 语言支持如下类型的运算符 −

  • 算术运算符
  • 比较运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符

让我们依次看一看所有运算符。

Python 算术运算符

假设变量 a 的值为 10,变量 b 的值为 21,则 −

运算符 描述 例子
+ 加法 将运算符两侧的值相加。 a + b = 31
- 减法 将右侧操作数从左侧操作数中减去。 a – b = -11
* 乘法 将运算符两侧的值相乘。 a * b = 210
/ 除法 将左侧操作数除以右侧操作数。 b / a = 2.1
% 取模 将左侧操作数除以右侧操作数,返回余数。 b % a = 1
** 指数 对运算符执行指数(幂)计算。 a**b =10 的 20 次方
// 向下取整除法 – 在除法的操作数中,结果为商数,小数点后的数字被删除。但是,如果操作数之一是负数,则结果向下舍入,即向负无穷大方向舍入: 9//2 = 4,9.0//2.0 = 4.0,-11//3 = -4,-11.0//3 = -4.0

Python 比较运算符

这些运算符比较它们两侧的值,并决定它们之间的关系。它们也被称为关系运算符。

假设变量 a 的值为 10,变量 b 的值为 20,则 −

运算符 描述 示例
== 如果两个操作数的值相等,则条件为真。 (a == b) 不为真。
!= 如果两个操作数的值不相等,则条件为真。 (a!= b) 为真。
> 如果左操作数的值大于右操作数的值,则条件为真。 (a > b) 不为真。
< 如果左操作数的值小于右操作数的值,则条件为真。 (a < b) 为真。
>= 如果左操作数的值大于或等于右操作数的值,则条件为真。 (a >= b) 不为真。
<= 如果左操作数的值小于或等于右操作数的值,则条件为真。 (a <= b) 为真。

Python赋值运算符

假设变量 a 的值为10,变量 b 的值为20,那么−

运算符 描述 示例
= 将右侧的操作数的值分配给左侧操作数 c = a + b 将a + b的值赋给c
+= 加 AND 它将右操作数添加到左操作数,并将结果分配给左操作数 c += a 相当于 c = c + a
-= 减 AND 它从左操作数中减去右操作数,并将结果分配给左操作数 c -= a 相当于 c = c – a
*= 乘 AND 它将右操作数与左操作数相乘,并将结果分配给左操作数 c *= a 相当于 c = c * a
/= 除 AND 它将左操作数除以右操作数,并将结果分配给左操作数 c /= a 相当于 c = c / a,c /= a 相当于 c = c / a
%= 模 AND 它使用两个操作数获取模数并将结果分配给左操作数 c %= a 相当于 c = c % a
**= 幂 AND 对运算符执行指数(幂)计算,并将值分配给左操作数 c **= a 相当于 c = c ** a
//= 地板除法 对运算符执行地板除法,并将值分配给左操作数 c //= a 相当于 c = c // a

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

Python的内置函数bin()可用于获取整数的二进制表示。

Python语言支持以下按位运算符:

运算符 描述 例子
& 二元与 如果操作数中的位都存在,则将其复制到结果中。 (a&b)(表示0000 1100)
二元或 如果存在于任一操作数中,则将其复制。 | (a | b) = 61(表示0011 1101)
^ 二元异或 如果在一个操作数中设置了该位但不在两个操作数中都设置了该位,则复制该位。 (a^b)= 49(表示0011 0001)
~ 二元反码 它是一元的,并且具有’翻转’位的效果。 (~a) = -61(表示带符号二进制数2111 1101,2的补码形式位于2的补码形式中,因为a是带符号二进制数。
<< 二进制左移 左操作数的值向左移动由右操作数指定的位数。 a << 2 = 240(表示1111 0000)
>> 二进制右移 左操作数的值向右移动由右操作数指定的位数。 a >> 2 = 15(表示0000 1111)

Python逻辑运算符

Python语言支持以下逻辑运算符。假设变量 a 为True,变量 b 为False,则 –

运算符 描述 例子
and 逻辑与 如果两个操作数都为True,则条件变为True。 (a and b)为False。
or 逻辑或 如果两个操作数中有任何一个非零,则条件变为True。 (a or b)为True。
not 逻辑非 用于翻转其操作数的逻辑状态。 Not(a and b)为True。

Python成员运算符

Python的成员运算符测试序列(例如字符串,列表或元组)中是否存在成员。下面解释了两种成员运算符 –

运算符 描述 示例
in 如果在指定的序列中找到变量则为真,否则为假。 x in y,当x是序列y的成员时,in给出1。
not in 如果在指定的序列中没有找到变量则为真,否则为假。 x not in y,当x不是序列y的成员时,not in给出1。

Python身份运算符

身份运算符比较两个对象的内存位置。有两个身份运算符如下所述−

运算符 描述 示例
is 如果运算符两侧的变量指向相同的对象,则为真,否则为假。 x is y,当id(x)等于id(y)时,is返回1。
is not 如果运算符两侧的变量指向相同的对象,则为假,否则为真。 x is not y,当id(x)不等于id(y)时,is not返回1。

Python运算符优先级

下表按从最高到最低的优先级列出了所有运算符。

序号 运算符和说明
1 ** 指数(乘方)
2 ~ + - 补码、一元加和减(最后两个的方法名为+@和-@)
3 * / % // 乘、除、模和整除
4 \+ - 加和减
5 >> << 右移和左移位运算
6 & 按位 ‘AND’
7 ^ | 按位异或和逻辑或。
8 <= < > >= 比较运算符
9 <> == != 等式运算符
10 = %= /= //= -= += *= **= 赋值运算符
11 is is not 身份运算符
12 in not in 成员运算符
13 not or and 逻辑运算符

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程