Python中的运算符大多数与C语言类似,少数几个有区别。
比较运算符
比较运算符包括:<,<=, >, >=, ==,!=
以上分别为小于,小于等于,大于,大于等于,等于,不等于
比较运算符的作用与其它语言基本一致 ,但注意python的比较运算符支持下面的形式:
>>> x = 10
>>> 5 < x < 15
True
逻辑运算符
python中的逻辑运算符为:and ,or, not
以上分别表示逻辑与,逻辑或,逻辑非;它们的含义与C语言一致,只是关键字不同
>>> 3 < 4 and 4 < 5
True
>>> not True
False
>>> not 0
True
>>> not 6
False
赋值运算符
python中的赋值运算符: = += -= *= /= %= //=
赋值运算符与其它语言类似,不再赘述。
>>> a = b = c = d = e = f = 100
>>> a += 1
>>> b -= 2
>>> c *= 3
>>> d /= 3
>>> e %= 3
>>> f //= 3
>>> print(a,b,c,d,e,f)
101 98 300 33.333333333333336 1 33
算术操作符
python中的算术操作符: + - * / % ** //
上述操作符大部分与C语言一致,少部分有区别,需要注意。
- python中的“/”为真正的除法,而非地板除法(很多编程语言,包括python2中,即“/”的两个操作数都为整数时结果为整数)
>>> 3/2
1.5
>>> 3.0/2
1.5
- python中的地板除法为“//”(无论“//”的两个操作数是什么类型,结果都是地板除法)
>>> 3//2
1
>>> 3.0//2
1.0
- “%”为求余数,与其它语言类似
>>> 5 % 5
0
>>> 5 % 3
2
>>> 999 % 32
7
- python中支持幂运算,即运算符“**”,运算符左侧的操作数为底,右侧的操作数为指数
>>> 2 ** 3
8
>>> -2 ** 3
-8
>>> 3 ** -2
0.1111111111111111
运算符的优先级
python中的运算符优先级如下:
第一级: ** (幂运算)
第二级: + - (正、负号)
第三级: * / // % (乘,算术除,地板除,模除)
第四级: + - (加,减)
第五级: < <= > >= == != (比较运算符)
第六级: not and or (逻辑运算符)
>>> -4 * 3 + 6 / -2 - 8
-23.0
>>> (-4) * 3 + 6 / (-2) - 8
-23.0
需要注意的是:幂运算操作符比其左侧的一元操作符的优先级高,比其右侧的一元操作符的优先级低,见以下示例:
>>> -3 ** 2
-9
>>> 3 ** -2
0.1111111111111111