1。python的运算符大概看了下,主要的和其余语言没啥区别。加减乘除分别是:+,-,*,/,求余(取模)是%,大因而>,小因而<,<=小于等于,==等于,!=不等于.基本经常使用的没啥变化。
2. 也有些新的,好比**返回x的y次幂 举例:3 ** 4获得81(即3 * 3 * 3 * 3),//取整除,返回商的整数部分
3.<<左移 >>右移这个却是通常不经常使用,可是还蛮有用。2 << 2获得8。——2按比特表示为10即2*(2**2)=8.一样把一个数的比特向右移必定数目11 >> 1获得5即11*(2**(-1))=5
4.
& |
按位与 |
数的按位与 |
5 & 3获得1。 |
| |
按位或 |
数的按位或 |
5 | 3获得7。 |
5.
^ |
按位异或 |
数的按位异或 |
5 ^ 3获得6 |
~ |
按位翻转 |
x的按位翻转是-(x+1) |
~5获得6。 |
这个按位翻转应该在其余语言好像没有,不过也通常用不到。
6.or ,and,not也没啥变化。
7,。讲到运算符,就必然要涉及到优先级的问题,如下表列出了python的优先级。
运算符优先级
运算符 |
描述 |
lambda |
Lambda表达式 |
or |
布尔“或” |
and |
布尔“与” |
not x |
布尔“非” |
in,not in |
成员测试 |
is,is not |
同一性测试 |
<,<=,>,>=,!=,== |
比较 |
| |
按位或 |
^ |
按位异或 |
& |
按位与 |
<<,>> |
移位 |
+,- |
加法与减法 |
*,/,% |
乘法、除法与取余 |
+x,-x |
正负号 |
~x |
按位翻转 |
** |
指数 |
x.attribute |
属性参考 |
x[index] |
下标 |
x[index:index] |
寻址段 |
f(arguments...) |
函数调用 |
(experession,...) |
绑定或元组显示 |
[expression,...] |
列表显示 |
{key:datum,...} |
字典显示 |
'expression,...' |
字符串转换 |
另外注意一点通常运算顺序是从左向右即具备相同优先级的运算符按照从左向右的顺序计算。例如,2 + 3 + 4被计算成(2 + 3) + 4。一些如赋值运算符那样的运算符是由右向左结合的,即a = b = c被处理为a = (b = c)。 注意:我在看运算符的时候发现少了赋值运算符,为何不比较=的优先级呢。经过运行代码,验证了个人想法,在python中=不能参与运算,只能用来单独赋值。例:在php中定义三个变量啊a,b,c如:$a=1,$b=2,$c=3,计算$a+$b=$c结果会输出4而一样的算式在python中会报错。