Python运算符
Python
  常用运算符
| 名称 | 含义 | 例子 | 运行结果 | 
|---|---|---|---|
+ | 
加 | 3+1 | 
4 | 
- | 
减 | 40-2 | 
38 | 
* | 
乘 | 3*2 | 
6 | 
/ | 
除 | 6/3 | 
2 | 
// | 
取整除(地板除) | 8//5 | 
1 | 
** | 
幂 | 2**3 | 
8 | 
% | 
求余数 | 7%2 | 
1 | 
Python有各种运算符,我们可以使用这些运算符完成计算。
运算符的优先级别
Python按照运算符的有限级别计算表达式的值,比如:
>>> 3 * 4 + 1在上面的表达式中,应该先进行加运算还是乘运算?为了搞清楚这个问题,我们需要明白Python中运算符的优先级别,下表显示了运算符的优先级别,依次从高到底排列如下:
| 运算符 | 描述 | |
|---|---|---|
'expression,…' | 
字符串转换 | |
{key:datum,…} | 
字典显示 | |
{[expression,…]} | 
列表显示 | |
() | 
分组 | |
f(args…) | 
函数调用 | |
x[index:index] | 
列表切分 | |
x[index] | 
元素下标 | |
x.attr | 
调用对象属性 | |
** | 
指数运算 | |
{^x} | 
按位取反 | |
+x,-x | 
正负号 | |
*,/,% | 
乘、除、取余数 | |
+,- | 
加,减 | |
<<,>> | 
逐位左移,逐位右移 | |
& | 
逐位求和,布尔“并” | |
^ | 
逐位异或,布尔“非” | |
| | 
逐位或,布尔“或” | |
<,<=,>,>=,<>,!=,== | 
比较 | |
is,not is | 
同一性测试 | |
in,not in | 
成员资格判断 | |
not x | 
布尔“非” | |
and | 
布尔“并” | |
or | 
布尔“或” | |
lambda | 
Lamada表达式 | 
在上表中我们可以看到,乘法运算的级别高于加法,因此,先进行乘法运算,再进行加法运算,最后的计算结果为13。
>>> 3 * 4 + 1
>>> 13让我们再看下面的例子,以便演示优先顺序的另一个问题:
>>> 3 + 4 - 2上述表达式到底先进行加法运算还是减法呢?因为在运算符的优先级别表中我们看到加减运算的优先级别相同。当优先级别相同时,表达式从左向右计算,也就是说,上述的例子将先进行加法运算,再进行减法运算。
>>> 3 + 4 - 2
>>> 5同级别运算符从左到右运算,这条规则有个例外,那就是赋值运算( = ),赋值运算是从右向左计算的。例如:
a = b = c先将c的值,赋给b,再将b的值赋给a。
in 和 not in 运算符
我们可以使用 in 和 not in 操作符检查一个字符串是否存在于另一个字符串,in 和 not in 就是所谓的成员资格操作符(membership operator)。
>>> s1 = "Welcome"
>>> "come" in s1
True
>>> "come" not in s1
False增强赋值运算符
增强赋值运算符能简化赋值声明语句,例如:
>>> count = 1
>>> count = count + 1
>>> count
2使用增强赋值运算符,我们可以将上述代码变为:
>>> count = 1
>>> count += 1
>>> count
2类似的增强赋值运算符,除了+=外,还有-=,%=,/= 等等。
小结
- Python中的运算符有多种,且有优先级的区别,其优先级和数据运算的优先级一致。
 - 可使用增强运算符简化赋值声明语句。