运算符是可以操作操作数值的构造.
考虑表达式4 + 5 = 9.这里,4和5称为操作数,+称为运算符./p>
运算符类型
Python语言支持以下类型的运算符.
算术运算符
比较(关系)运算符
赋值运算符
逻辑运算符
按位运营商
会员运营商
身份运营商
让我们一个接一个地查看所有运算符.
Python算术运算符
假设变量a成立10和变量b保持20:
Ope宇宙rator | 描述 | 示例 |
---|---|---|
+ 加法 | 在两边添加值operator. | a + b = 30 |
- 减法 | 从左手操作数中减去右手操作数. | a - b = -10 |
*乘法 | 将运算符两侧的值相乘 | a * b = 200 |
/除法 | 用左手操作数除左手操作数 | b/a = 2 |
%模数 | 用左手操作数除左手操作数并返回余数 | b%a = 0 |
**指数 | Pe rforms exponential(power)计算运算符 | a ** b = 10到幂20 |
// | Floor Division - 操作数的除法,其中结果是小数点后面的数字为的商除去.但是,如果其中一个操作数是负数,则结果是平滑的,即从零(向负无穷大)减去并减去; | 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)不成立. |
< = | 如果左操作数的值小于或等于右操作数的值,则condition变为true. | (a< = b)为真. |
Python赋值运算符
假设var iable a hold 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/ac/= a相当于c = c/a |
%=模数AND | 使用两个操作数获取模数并将结果赋值给左操作数 | c%= a相当于c = c%a |
** =指数AND | 对运算符执行指数(幂)计算并为其赋值左操作数 | c ** = a相当于c = c ** a |
//= Floor Division | 它对运算符执行floor floor并为左操作数赋值 | 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语言支持以下Bitwise运算符
运算符 | 描述 | 示例 |
---|---|---|
&二进制AND | 运算符如果两个操作数都存在,则将一个位复制到结果 | (a& ; b)(指0000 1100) |
|二进制OR | 如果它存在于任一操作数中,它会复制一点. | (a | b) = 61(表示0011 1101) |
^二进制XOR | 如果在一个操作数中设置但不是两者都复制该位. | (a ^ b)= 49(表示0011 0001) |
〜二元补充 | 它是一元的并具有'翻转'位的效果. | (~a)= -61(表示1100由于带符号的二进制数,因此在2的补码形式中为0011. |
<<二进制左移 | 左操作数值向左移动右操作数指定的位数. | a<<<<< 2 = 240(表示1111 0000) |
>> Binary Right Shift | 左操作数值向右移动右操作数指定的位数. | a>> 2 = 15(表示0000 1111) |
Python逻辑运算符
遵循Python语言支持的逻辑运算符.假设变量a保持10而变量b保持20:
运算符 | 描述 | 示例 |
---|---|---|
和逻辑AND | 如果两者都操作数为true,则条件成立. | (a和b)为真. |
或逻辑OR | 如果两个操作数中的任何一个非零,则条件变为真. | (a或b)为真. |
not Logical NOT | 用于反转其操作数的逻辑状态. | 不(a和b)为假. |
用于反转其操作数的逻辑状态.
Python成员运算符
Python的成员资格运算符测试序列中的成员资格,例如字符串,列表或元组.有两个会员运营商,如下所述 :
运算符 | 描述 | 示例 |
---|---|---|
如果发现,则评估为true指定序列中的变量,否则为false. | x in y,如果x是序列y的成员,则结果为1. | |
不在 | 如果确实如此,则评估为true找不到指定序列中的变量,否则返回false. | x不在y中,如果x不是序列y的成员,则不在结果为1. |
Python Identity Ope rators
身份运算符比较两个对象的内存位置.下面解释了两个Identity运算符 :
运算符 | 描述 | 示例 |
---|---|---|
如果变量上的话,求值为true操作符的任一侧指向同一个对象,否则返回false. | x是y,这里是导致1如果id(x)等于id(y). | |
不是 | 如果运算符两侧的变量指向同一个对象,则求值为false,否则求值为true. | x是不是y,这里不是如果id(x)不等于id(y),则结果为1./td> |
Python运算符优先级
下表列出了从最高优先级到最高优先级的所有运算符最低.
Sr.No. | 运算符&说明 |
---|---|
1 | ** 指数化(加权) |
2 | 〜+ - 补充,一元加和减去(最后两个的方法名是+ @和 - @) |
3 | */%// 乘法,除法,模数和分层 |
4 | + - 加法和减法 |
5 | >> << 左右按位移位 |
6 | & 按位'AND' |
7 | ^ | 按位排除"OR"和常规"OR" |
8 | < =< > > = 比较运算符 |
9 | <> ==!= 平等运营商 |
10 | =%=/=//= - = + = * = ** = 作业运算符 |
11 | 不是 身份运营商 |
12 | 不在 会员运营商 |
13 | 不是和 逻辑运算符 |