教 程 目 录
运算符是构造,可以操纵操作数的值.考虑表达式4+ 5 = 9.这里,4和5被称为操作数和+被称为运算符.
运算符类型
Python语言支持以下类型的运算符 :算术运算符
比较(关系)运算符
赋值运算符
逻辑运营商
按位运营商
会员运营商
身份运营商
让我们一个接一个地查看所有运算符.
Python算术运算符
假设变量a保持值10,变量b保持值21,然后是 :运算符描述例子e
+添加在运算符的任一侧添加值.a+ b = 31
- 减法减去右手左手操作数的操作数.a - b = -11
*乘法将运算符两侧的值相乘a * b = 210
/Division将左手操作数除以右手操作数b/a = 2.1
%模数用左手操作数除左手操作数并返回余数b%a = 1
**指数执行指数(幂)运算符计算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)为真.
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/ac/= 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的内置 - in function bin()可用于获取整数的二进制表示.
Python语言支持以下Bitwise运算符 :运算符描述示例
&二进制AND运算符将一个位复制到结果中,如果它存在于两个操作数中(a& b) (指0000 1100)
|二进制OR它复制一个位,如果它存在于任一操作数中.(a | b)= 61(表示0011 1101)
^ Binary XOR它的副本该位,如果它在一个操作数中设置但不是两者都设置.(a ^ b)= 49(表示0011 0001)
〜二元补充它是一元并且具有'翻转'位的效果.(~a)= -61(由于带符号的二进制数,表示以2的补码形式的1100 0011.
<< Binary Left Shift左边操作数的值向左移动右操作数指定的位数.a<<<<<<<<<<<<<<<< 2> b $ b
>>二进制右移左操作数的值被移动正确的位数规格由右操作数决定.a>> 2 = 15(表示0000 1111)
Python逻辑运算符
Python语言支持以下逻辑运算符.假设变量a保持True,变量b保持False然后 :运算符描述示例
和逻辑AND如果两个操作数均为真,则条件变为真.(a和b)为False.
或逻辑OR如果两个操作数中的任何一个是非零然后条件变为真.(a或b)为真.
not Logical NOT用于反转其操作数的逻辑状态.不(a和b)为真.
Python成员运算符
Python的成员运算符测试序列中的成员资格,例如字符串,列表或元组.有两个会员运营商,如下所述 :运算符描述示例
in如果找到变量,则求值为true在指定的序列中,否则为false.x in y,如果x是序列y的成员,则结果为1.
not in如果找不到指定的变量,则求值为true序列,否则为false.x不在y中,如果x不是序列y的成员,则此处不会产生1.
Python Identity Operators
Identity运算符比较两个对象的内存位置.有两个Identity运算符,如下所述 :运算符描述示例
is如果任何一个上的变量,则求值为true运算符的一侧指向同一个对象,否则为false.x是y,这里是如果id(x)则结果为1等于id(y).
is not如果运算符两侧的变量指向同一个对象,则求值为false,否则为true.x不是y,这里不是如果id(x)不等于id(y),则结果为1.
Python运算符优先级
下表列出了从最高优先级到最低优先级的所有运算符.Sr.No.运算符&说明
1**
指数化(加权)
2〜+ -
补语,一元加号和减号(最后两个的方法名是+ @和 - @)
3*/%//
乘法,除法,模数和底数除法
4+ -
加法和减法
5>> <<
左右按位移位
6&
按位'AND'
7^ |
按位排除"OR"和常规"OR"
8< =< > > =
比较运算符
9<> ==!=
平等运营商
10=%=/=//= - =+ = * = ** =
分配运算符
11不是
身份运营商
12不在
会员运营商
13不是和
逻辑运算符
相关新手教程: