目录
一、运算符
1. 算术运算符
2. 比较(关系)运算符
3. 赋值运算符
4. 逻辑运算符
5. 位运算符
6. 成员运算符
7. 身份运算符
二、运算符的优先级
一、运算符
运算符是Python中非常重要的组成部分,程序的核心是逻辑,而逻辑则是通过运算符来实现。Python中常规的运算符主要有算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符以及身份运算符七种。运算符的主要功能是将数据(数字和字符串)进行运算以及连接。
1. 算术运算符
算术运算符 | 描述 | 实例 |
x + | 将两个对象相加,返回它们的和 | x, y = 3, 4 print(x+y) >>> 7 |
x - | 将两个对象相减,或者得到一个负数 | x, y = 8, 4 print(x-y) >>> 4 |
x * | 将两个数相乘,返回它们的积 | x, y = 3, 4 print(x*y) >>> 12 |
x / | 将两个数相除,返回它们的商 | x, y = 8, 4 print(x/y) >>> 2 |
x // | 整数除,返回商的整数部分 | x, y = 10, 3 print(x//y) >>> 3 |
x % | 余数运算,返回除法的余数 | x, y = 10, 3 print(x%y) >>> 1 |
x ** | 幂运算 | x, y = 3, 2 >>> 9 |
代码实例
2. 比较(关系)运算符
比较(关系)运算符 | 描述 |
> | 大于运算符 |
< | 小于运算符 |
>= | 大于等于运算符 |
<= | 小于等于运算符 |
== | 等于运算符 |
!= | 不等于运算符 |
<> | 不等于运算符 |
代码实例
score = float(input("请输入你的分数:"))
if score == 100:
print("真棒!你是满分啊!")
elif score >= 90:
print("优秀")
elif score >=80:
print("良好")
elif score >= 60:
print("及格")
else:
print("加油!再接再励!")
3. 赋值运算符
将等号右侧的值赋给等号左侧的变量。为了写起来简便,对赋值运算符做了简化处理,即在等号的左边加上一个算术运算符。
赋值运算符 | 描述 | 实例 |
= | 简单的赋值运算符 | x, y = 3, 4 z = x + y print(z) >>> 7 |
+= | 加法赋值运算符 | x, y = 8, 4 x += y print(x) >>> 12 |
- = | 减法赋值运算符 | x, y = 6, 4 x -= y print(x) >>> 2 |
* = | 乘法赋值运算符 | x, y = 6, 4 x *= y print(x) >>> 24 |
/= | 除法赋值运算符 | x, y = 8, 4 x /= y print(x) >>> 2 |
%= | 取模赋值运算符 | x, y = 10, 3 x %= y print(x) >>> 3 |
**= | 幂赋值运算符 | x, y = 3, 3 x **= y print(x) >>> 27 |
//= | 取整除赋值运算符 | x, y = 10, 3 x //= y print(x) >>> 3 |
4. 逻辑运算符
逻辑运算符 | 逻辑表达式 | 描述 |
and | x and y | 逻辑与,只有当该运算符左右两侧的值都为True时才返回True,否则返回Flase |
or | x or y | 逻辑或,只有当该运算符左右两侧的值都为Flase时才返回Flase,否则返回True |
not | not x | 逻辑非,该运算符右侧的值为True时返回False,为False时返回True |
代码实例(闰年判断)
year = int(input("请输入一个年份:"))
if (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0):
print("\n您输入的年份 %d 是润年。" % year)
else:
print("\n您输入的年份 %d 不是润年。" % year)
5. 位运算符
整数之间可以进行位运算,位运算按照二进制方式逐位进行,但位运算只针对整数有作用。
位运算符 | 描述 |
x & | 与,x与y的与操作 |
x | | 或,x与y的或操作 |
~x | 非,x与y的非操作 |
x ^ | 异或,x与y的异或操作 |
x << | 左移,x与y的左移操作 |
x >> | 右移,x与y的右移操作 |
代码实例
6. 成员运算符
Python成员运算符测试给定值是否为序列中的成员,例如字符串,列表或元组。
成员运算符 | 逻辑表达式 | 描述 |
in | x in y | 判断一个元素是否属于某个集合,如果 x 在 y 序列中返回 True,否则返回 False |
not in | x not in y | 判断一个元素是否不属于某个集合,如果x不在 y 序列中返回 True,否则返回 False |
代码实例
7. 身份运算符
身份运算符 | 逻辑表达式 | 描述 |
is | x is y | 判断两个标识符是不是引用自一个对象,如果引用的是同一个对象则返回 True,否则返回 False |
is not | x is not y | 判断两个标识符是不是引用自不同对象,如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
代码实例
二、运算符的优先级
运算符将按照优先级高低顺序决定运算的先后顺序。首先进行优先级高的运算符的运算,然后对优先级次高的运算符进行运算,以此类推。
Python中运算符的优先级顺序如下表所示:
运算符 | 说明 |
** | 指数(最高优先级) |
~、+、- | 按位取反,一元加号和减号(最后两个的方法名为+@和-@) |
*、/、%、// | 乘、除、取模(或求余数)和取整除 |
+、- | 加法、减法 |
>>、<< | 右移位、左移位运算符 |
& | “按位与”运算符 |
^、| | “按位异或”和“按位或”运算符 |
<=、< > 、>= | 比较大小运算符 |
<>、==、!= | 等于与否运算符 |
=、%=、/=、//=、-=、+=、*=、**= | 赋值运算符 |
is、is not | 身份运算符 |
in、 not in | 成员运算符 |
not、and、or | 逻辑运算符 |
可以考虑使用多层括号,最内层的括号先运算。