Basic 运算符
运算符是可以操纵操作数值的构造。
考虑表达式4 + 5 = 9.这里,4和5被称为操作数,+被称为运算符。
运算符的类型
Python语言支持以下类型的运算符。
- 算术运算符
- 比较(关系)运算符
- 分配运算符
- 逻辑运算符
- 按位运算符
- 成员运算符
- Identity运算符
让我们逐一了解所有运算符。
Python Arithmetic Operators
假设变量a保持10,变量b保持20,则 -
[ 显示示例 ]
操作者 | 描述 | 例 |
---|---|---|
+加法 | 在运算符的任一侧添加值。 | a + b = 30 |
- 减法 | 从左手操作数中减去右手操作数。 | a - b = -10 |
*乘法 | 将运算符两侧的值相乘 | a * b = 200 |
/除法 | 用左手操作数除左手操作数 | b/a = 2 |
% Modulus | 用左手操作数除左手操作数并返回余数 | b%a = 0 |
**指数 | 对运算符执行指数(幂)计算 | a ** b = 10到20的功率 |
// | Floor Division - 操作数的除法,其结果是小数点后的数字被移除的商。 但是如果其中一个操作数是负数,则结果会被消除,即从零开始(向负无穷大)舍入 - | 9 // 2 = 4和9.0 // 2.0 = 4.0,-11 // 3 = -4,-11.0 // 3 = -4.0 |
Python Comparison Operators
这些运算符比较它们两侧的值并确定它们之间的关系。 它们也称为关系运算符。
假设变量a保持10,变量b保持20,则 -
[ 显示示例 ]
操作者 | 描述 | 例 |
---|---|---|
== | 如果两个操作数的值相等,则条件成立。 | (a == b)不是真的。 |
!= | 如果两个操作数的值不相等,则条件成立。 | (a!= b)是真的。 |
<> | 如果两个操作数的值不相等,则条件成立。 | (a <> b)是真的。 这类似于!=运算符。 |
> | 如果左操作数的值大于右操作数的值,则条件变为真。 | (a> b)不是真的。 |
< | 如果左操作数的值小于右操作数的值,则条件变为真。 | (a |
>= | 如果左操作数的值大于或等于右操作数的值,则condition变为true。 | (a> = b)不是真的。 |
<= | 如果左操作数的值小于或等于右操作数的值,则条件变为真。 | (a <= b)是真的。 |
Python Assignment Operators
假设变量a保持10,变量b保持20,则 -
[ 显示示例 ]
操作者 | 描述 | 例 |
---|---|---|
= | 将右侧操作数的值分配给左侧操作数 | c = a + b将a + b的值分配给c |
+= Add AND | 它将右操作数添加到左操作数并将结果分配给左操作数 | c + = a等于c = c + a |
-= Subtract AND | 它从左操作数中减去右操作数,并将结果赋给左操作数 | c - = a相当于c = c - a |
*= Multiply AND | 它将右操作数与左操作数相乘,并将结果赋给左操作数 | c * = a等于c = c * a |
/= Divide AND | 它将左操作数与右操作数分开,并将结果赋给左操作数 | c/= a等于c = c/ac/= a等于c = c/a |
%= Modulus AND | 它使用两个操作数来获取模数,并将结果赋给左操作数 | c%= a等于c = c%a |
**= Exponent AND | 对运算符执行指数(幂)计算并将值赋给左操作数 | c ** = a相当于c = c ** a |
//= Floor Division | 它对运算符执行floor分割,并为左操作数赋值 | c // = a等于c = c // a |
Python Bitwise Operators
按位运算符处理位并执行逐位运算。 假设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语言支持以下Bitwise运算符
[ 显示示例 ]
操作者 | 描述 | 例 |
---|---|---|
& Binary AND | 如果两个操作数中都存在,则运算符会将结果复制到结果中 | (a&b)(指0000 1100) |
| Binary OR | 如果它存在于任一操作数中,它会复制一点。 | (a | b)= 61(表示0011 1101) |
^ Binary XOR | 如果它在一个操作数中设置但不在两个操作数中,则复制该位。 | (a ^ b)= 49(表示0011 0001) |
~ Binary Ones Complement | 它是一元的,具有'翻转'位的效果。 | (~a)= -61(由于带符号的二进制数,表示以2的补码形式的1100 0011。 |
<< Binary Left Shift | 左操作数值向左移动右操作数指定的位数。 | a << 2 = 240(表示1111 0000) |
>> Binary Right Shift | 左操作数值向右移动右操作数指定的位数。 | a >> 2 = 15(表示0000 1111) |
Python Logical Operators
Python语言支持以下逻辑运算符。 假设变量a保持10,变量b保持20
[ 显示示例 ]
用于反转其操作数的逻辑状态。Python Membership Operators
Python的成员资格运算符测试序列中的成员资格,例如字符串,列表或元组。 有两个会员运算符,如下所述 -
[ 显示示例 ]
操作者 | 描述 | 例 |
---|---|---|
in | 如果在指定序列中找到变量,则求值为true,否则求值为false。 | x在y中,如果x是序列y的成员,则在此处得到1。 |
not in | 如果找不到指定序列中的变量,则求值为true,否则求值为false。 | x不在y中,如果x不是序列y的成员,则此处不会产生1。 |
Python Identity Operators
身份运算符比较两个对象的内存位置。 下面介绍了两个Identity运算符 -
[ 显示示例 ]
操作者 | 描述 | 例 |
---|---|---|
is | 如果运算符任一侧的变量指向同一对象,则求值为true,否则求值为false。 | x是y,如果id(x)等于id(y), is结果为1。 |
is not | 如果运算符两侧的变量指向同一对象,则求值为false,否则为true。 | x不是y,如果id(x)不等于id(y), is not产生1。 |
Python Operators Precedence
下表列出了从最高优先级到最低优先级的所有运算符。
[ 显示示例 ]
Sr.No. | 操作符和说明 |
---|---|
1 | ** 指数(提升到权力) |
2 | ~ + - 补语,一元加号和减号(最后两个的方法名是+ @和 - @) |
3 | */% // 乘法,除法,模数和地面划分 |
4 | + - 加减 |
5 | 》》 《《 左右按位移位 |
6 | & 按位'与' |
7 | ^ | 按位排除“OR”和常规“OR” |
8 | 《= 《 》 》= 比较运算符 |
9 | 《》 == != 平等运算符 |
10 | = %= /= //= -= += *= **= 分配运算符 |
11 | is is not Identity运算符 |
12 | in not in 成员运算符 |
13 | not or and 逻辑运算符 |