Python运算符
在Python中可以将运算符定义为负责两个操作数之间的特定操作的符号。
运算符是程序运行的核心。Python提供了如下所述的各种运算符。
算术运算符
比较运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
运算符优先级
算术运算符
算术运算符用于在两个操作数之间执行算术运算。它包括+(加法), - (减法),*(乘法),/(除法),%(取余),//(向下取整)和指数(**)。
请通过下表学习算术运算符的详细内容:
运算符 | 描述 | 示例 |
+(加法) | 它用于两个操作数相加 | 例如:如果a = 20,b = 10 => a + b = 30 |
- (减法) | 它用于从第一个操作数中减去第二个操作数。如果第一个操作数小于第二个操作数,则结果为负值 | 例如:如果a = 20,则b = 10 => a?b = 10 |
/(除) | 它在将第一个操作数除以第二个操作数后返回商 | 例如:如果a = 20,则b = 10 => a / b = 2 |
*(乘法) | 它用于将一个操作数与另一个操作数相乘 | 例如:如果a = 20,则b = 10 => a * b = 200 |
%(取余) | 它在将第一个操作数除以第二个操作数后返回余数 | 例如:如果a = 20,则b = 10 => a%b = 0 |
**(指数) | 它是一个指数运算符,表示为计算第二个操作数量的的第一个操作数相乘 | 例如:10**20 为10的20次方, 输出结果 100000000000000000000 |
//(向下取整) | 它给出了通过两个操作数产生的商并进行向下取整 | 例如:9//2=4 |
比较运算符
比较运算符用于比较两个操作数的值,并相应地返回布尔值true或false。比较运算符如下表所述:示例中a=1,b=2
运算符 | 描述 | 示例 |
== | 如果两个操作数的值相等,则条件变为真 | (a == b) 返回 False |
!= | 如果两个操作数的值不相等,则条件变为真 | (a != b)返回true |
<= | 如果第一个操作数小于或等于第二个操作数,则条件变为真,这个运算符类似 != | (a <= b) 返回 true |
> = | 如果第一个操作数大于或等于第二个操作数,则条件变为真 | (a >= b)返回false |
<> | 如果两个操作数的值不相等,则条件变为真 | (a <> b)返回 true |
> | 如果第一个操作数大于第二个操作数,则条件变为真 | (a > b)返回flase |
< | 如果第一个操作数小于第二个操作数,则条件为真 | (a < b)返回true |
Python赋值运算符
赋值运算符用于将右表达式的值赋给左操作数。赋值运算符如下表所述。
运算符 | 描述 | 实例 |
= | 它将右表达式的值赋给左操作数 | c=a+b,将a+b的值赋值给c |
+ = | 它通过右操作数的值增加左操作数的值,并将修改后的值赋给左操作数 | 例如,如果a = 10,则b = 20 => a + = b将等于a = a + b,因此a = 30 |
- = | 它将左操作数的值减小右操作数的值,并将修改后的值分配回左操作数 | 例如,如果a = 20,则b = 10 => a- = b将等于a = a-b,因此a = 10 |
* = | 它将左操作数的值乘以右操作数的值,并将修改后的值赋值回左操作数 | 例如,如果a = 10,则b = 20 => a * = b将等于a = a * b,因此a = 200 |
%= | 它将左操作数的值除以右操作数的值,并将提醒返回到左操作数 | 例如,如果a = 20,则b = 10 => a%= b将等于a = a%b,因此a = 0 |
**= | 幂赋值运算符,a ** = b将等于a = a ** b | 例如,如果a = 4,b = 2,a ** = b将4 ** 2 = 16分配给a |
//= | 取整除赋值运算符,A // = b将等于a = a // b | 例如,如果a = 4,b = 3,则a // = b将4 // 3 = 1分配给a |
按位运算符
按位运算符对两个操作数的值执行逐位操作。
例如,
if a = 7; b = 6; then, binary (a) = 0111 binary (b) = 0011 hence, a & b = 0011 a | b = 0111 a ^ b = 0100 ~ a = 1000
运算符 | 描述 | 实例 |
&(二进制和) | 如果两个操作数中相同位置的两个位都是1,则将1复制到结果中。否则,复制0。 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| (二进制或) | 如果两个位都为零,则结果位为0,否则结果位为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^(二进制xor) | 如果两个位都不同,则结果位将为1,否则结果位将为0。 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
〜(否定) | 它计算操作数的每个位的否定,即,如果该位为0,则结果位为1,反之亦然。 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。 |
<<(左移) | 左操作数值向左移动右操作数中的位数。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>>(右移) | 左操作数向右移动右操作数中的位数。 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
逻辑运算符
逻辑运算符主要用于表达式求值以做出决策。Python支持以下逻辑运算符,以下假设变量 a 为 10, b为 20:
运算符 | 描述 | 实例 |
and | 如果表达式都为真,则条件为真。如果a和b是两个表达式,则a→true,b→true => a和b→true | (a and b) 返回 20 |
not | 如果其中一个表达式为真,则条件为真。如果a和b是两个表达式,则a→true,b→false => a或b→true | (a or b) 返回 10 |
or | 如果表达式a为真,则不是(a)将为假,反之亦然 | not(a and b) 返回 False |
成员运算符
Python成员资格运算符用于检查数据结构中的值的成员资格。如果该值存在于数据结构中,则结果值为true,否则返回false。
运算符 | 描述 | 实例 |
in | 如果在第二个操作数(列表,元组或字典)中找到第一个操作数,则将其评估为true。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
Not in | 如果在第二个操作数(列表,元组或字典)中找不到第一个操作数,则将其评估为true。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
身份运算符
运算符 | 描述 | 实例 |
is | 如果两侧存在的参数指向同一对象,则返回为真 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
not is | 如果两侧存在的参数不指向同一对象,则返回为真。 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
运算符优先级
运算符的优先级很重要,因为它使我们能够知道应该首先执行哪个运算符。python中运算符的优先级表如下。
运算符 | 描述 |
** | 指数运算符优先于表达式中使用的所有其他运算符。 |
〜+ - | 否定,一元加减。 |
* /%// | 乘法,除法,模块,提醒和楼层划分。 |
+ - | 二进制加减 |
>> << | 左移和右移 |
& | 二进制和。 |
^ | | 二元xor和or |
<= <>> = | 比较运算符(小于,小于等于,大于,大于等于)。 |
<> ==!= | 比较运算符 |
=%= / = // = - = + = | 等于运算符 |
* = ** = | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |