Python 运算符
一、算术运算符(常用)
- 功能:进行相关符号的运算,不会改变变量的值
- 值:相关的数学运算结果;(2 + 1 = 3)
1. 运算符
- +(加)
- -(减)
- *(乘)
- /(除)
- %(取余)
- //(取整)
- **(求幂[次方])
2. 语法格式
- 2 + 1
- 2 - 1
- 2 * 1
- 2 / 1
- 2 % 1
- 2 // 1
- 2 ** 1
3.示例
注意:在进行相关符号运算的时候,是不会修改变量值的
1 2 3 4 5 6 7 8 9 10 11
| num1 = 5 num2 = 3 print(num1 + num2 ) print(num1 - num2 ) print(num1 * num2 ) print(num1 / num2 ) print(num1 % num2 ) print(num1 ** num2 ) print(num1 // num2 )
print(num1, num2)
|
二、赋值运算符(常用)
- 功能:计算了等号右侧 “表达式”的值,并赋值给等号左侧的变量
- 值:赋值结束后变量的值
1. 运算符
2. 语法格式

3. 示例
1 2 3 4
| num = 1 while num <= 5: print("num = %d" % num) num += 1
|
1 2 3 4
| num = 5 while num > 0: print("num = %d" % num) num -= 1
|
三、比较运算符(常用)
- 功能:计算 “表达式1” 和 “表达式2”的值
- 值:如果关系成立,整个关系运算表达式的值为真,否则为假
1. 运算符

2. 语法格式
3. 示例
1 2 3 4 5 6 7 8 9 10 11
| if 10 == 10: print("True") else: print("False")
if 10 == 11: print("True") else: print("False")
|
四、逻辑运算符(常用)

1. 逻辑与 and 运算符
1.1 格式 & 原理
- 格式:表达式1 and 表达式2
- 原理:两个表达式有一个是假 就为假;两个表达式都是真 才为真
- 如果表达式1的值为真,表达式2的值为真,整体逻辑与运算表达式的值为真
- 如果表达式1的值为真,表达式2的值为假,整体逻辑与运算表达式的值为假
- 如果表达式1的值为假,表达式2的值为真,整体逻辑与运算表达式的值为假
- 如果表达式1的值为假,表达式2的值为假,整体逻辑与运算表达式的值为假
1.2 短路原则
表达式1 and 表达式2 and 表达式3 and 表达式4 and …….
原理一样,无论有多少个表达式,必须要所有的表达式为真才为真,否则为假!!!
1.3 示例
1 2 3 4 5 6 7 8 9 10 11
| num1 = 1 < 2 num2 = 2 == 2 if num1 and num2: print("*******")
num1 = 1 > 2 num2 = 2 == 2 if num1 and num2: print("*******")
|
2.逻辑或 or 运算符
2.1 格式 & 原理
- 格式:表达式1 or 表达式2
- 原理:两个表达式有一个是真 就为真;两个表达式都是假 才为假
- 如果表达式1的值为真,表达式2的值为真,整体逻辑与运算表达式的值为真
- 如果表达式1的值为真,表达式2的值为假,整体逻辑与运算表达式的值为真
- 如果表达式1的值为假,表达式2的值为真,整体逻辑与运算表达式的值为真
- 如果表达式1的值为假,表达式2的值为假,整体逻辑与运算表达式的值为假
2.2 短路原则
表达式1 or 表达式2 or 表达式3 or 表达式4 or …….
原理一样,无论有多少个表达式,只要有一个表达式是真 就为真,表达式都是假 才为假!!!
2.3 示例
1 2 3 4
| num1 = 1 > 2 num2 = 2 == 2 if num3 or num4: print("&&&&&&&&&&")
|
3.逻辑非 not 运算符
3.1 格式 & 原理
- 格式:not 表达式
- 原理:颠倒黑白
- 如果表达式的值为真。整体逻辑非运算表达式的值为假
- 如果表达式的值为假。整体逻辑非运算表达式的值为真
3.2 示例
1 2
| if not 0: print("@@@@@@@@@")
|
五、成员运算符(常用)
1. in 和 not in 的作用
- 用来测试实例中包含了一系列的成员,包括字符串,列表或元组。
运算符 |
描述 |
实例 |
in |
如果在指定的序列中找到值返回 True,否则返回 False。 |
x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in |
如果在指定的序列中没有找到值返回 True,否则返回 False。 |
x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
2. 示例
1 2 3
| str1 = "lemon is a good man!" print("good" in str1) print("good" not in str1)
|
1 2 3
| list1 = ["lemon", 18] print(18 in list1) print(18 not in list1)
|
1 2 3
| tuple1 = ("lemon", 18) print("lemon" in tuple1) print("lemon" not in tuple1)
|
六、身份运算符(常用)
1. is 和 is not 的作用
运算符 |
描述 |
实例 |
is |
is 是判断两个标识符是不是引用自同一个对象 |
x is y, 类似 id(x) == id(y) 。如果引用的是同一个对象则返回 True,否则返回 False |
is not |
is not 是判断两个标识符是不是引用自不同对象 |
x is not y , 类似 id(a) != id(b) 。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
2. 示例
1 2 3 4 5 6
| num1 = 100 num2 = num1 print(num1 is num2) print(num1 is not num2) print("num1_id = ", id(num1)) print("num2_id = ", id(num2))
|
七、三目运算符(不太常用)
1. 作用
- 简化版的 if-else语句
- 格式:
- 条件成立要执行的语句 if 条件 else 条件不成立要执行的语句
2. 示例
1 2 3 4
| a = 3 b = 4 c = (a * 2 if a > b else b * a) print(c)
|
- 需求:有两个变量,比较大小,如果变量1大于变量2就执行变量1 - 变量2;否则变量2 - 变量1
1 2 3
| a1 = 19 a2 = 10 print(a1 - a2) if a1 > a2 else print(a2 - a1)
|
八、位 操作符(不太常用)
该运算符按二进制位对值进行操作
& 按位与:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
| 按位或:只要对应的两个二进位有一个为1时,结果位就为1
^ 按位异或:当两对应的二进位相异时,结果为1
~ 按位取反:对数据的每个二进制位取反,即把1变为0,把0变为1
<< 右移动:运算数的各二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0
>> 右移动:左边的运算数的各二进制位全部右移若干位,>>右边的数字指定了移动的位数
1 2 3 4 5 6
| print(0b110 & 0b010) print(3|2) print(3^2) print(~2) print(1<<2) print(4>>2)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| 1、& 按位与 运算符
print(5 & 7) 5: 101 7: 111 ------ 1 0 1
2、| 按位或 运算符
print(5 | 7) 5: 101 7: 111 ------ 1 1 1
3、 ^ 按位异或 运算符
print(5 ^ 7) 5: 101 7: 111 ------ 0 1 0
4、 ~ 按位取反 运算符
print(~ 5) 00000101 11111010 10000110
5、 << 左移动运算符
print(131 << 2) ---------------
6、>> 右移动运算符
print(131 >> 2)
|
九、运算符的优先级(重点)
运算符 |
描述 |
** |
指数 (最高优先级) |
~ + - |
按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // |
乘,除,取模和取整除 |
+ - |
加法减法 |
>> << |
右移,左移运算符 |
& |
位 ‘AND’ |
^ | |
位运算符 |
<= < > >= |
比较运算符 |
<> == != |
等于运算符 |
= %= /= //= -= += *= **= |
赋值运算符 |
is is not |
身份运算符 |
in not in |
成员运算符 |
not or and |
逻辑运算符 |