运算符包含:算术运算符、赋值运算符、比较运算符、位运算符、成员运算符、身份运算符
| 类型 | 内容 |
| 算术运算符 | +-*/ // % ** |
| 赋值运算符 | = += -= *= /= //= %= |
| 位运算符 | `&~<<>>^` |
| 关系运算符(比较运算符) | == != < > <= >= |
| 逻辑运算符 | and or not |
| 成员运算符 | is not in |
| 身份运算符 | is |
表达式:由变量、常量、运算符组成的式子。
算术运算符:
| 运算符 | 描述 | 实例 |
| + | 加 | 1+1 = 2 |
| - | 减 | 2-1 = 0 |
| * | 乘 | 2*2 = 4 |
| / | 除 | 4/2 = 2 |
| // | 取整除 | 返回除法的整数部分(商)9//2 = 4 |
| % | 去余数 | 返回除法的余数 9%2 = 1 |
| ** | 幂 | 次方、乘方,2**3 = 8 |
a = 10
b = 6
print(a + b) # 加
print(a - b) # 减
print(a * b) # 乘
print(a / b) # 除
print(a // b) # 取整除
print(a % b) # 取余
print(a ** b) # 幂
结果显示:

优先级:
| 运算符 | 描述 |
| ** | 幂(最高优先级) |
| * / % // | 乘、除、取余、取整 |
| + - | 加减(最低优先级) |
赋值运算符:
| 运算符 | 描述 | 实例 |
|---|---|---|
| = | 简单的赋值运算符 | c = a+b 将a+b的运算结果赋值为c |
| += | 加法赋值运算符 | c += a 等效于c = c+a |
| -= | 减法赋值运算符 | c -= a 等效于c = c-a |
| *= | 乘法赋值运算符 | c *= a 等效于c = c*a |
| /= | 除法赋值运算符 | c /= a 等效于c = c/a |
| //= | 取整赋值运算符 | c //= a 等效于 c = c//a |
| %= | 取模(余数)赋值运算符 | c %= a 等效于c = c%a |
| **= | 幂赋值运算符 | c **= a 等效于c = c**a |
下面演示几个例子:
a = 2
print(a)
a += 2 # 自增
print(a)
a -= 2 # 自减
print(a)
比较运算符:
| 运算符 | 描述 |
|---|---|
| == | 检查两个操作数的值师傅 相等,如果是,则条件成立,返回 True |
| != | 检查两个操作数的值师傅 不相等,如果是,则条件成立,返回 True |
| > | 检查左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回 True |
| < | 检查左操作数的值是否 小于 右操作数的值,如果是,则条件成立,返回 True |
| >= | 检查左操作数的值是否 大于或等于 右操作数的值,如果是,则条件成立,返回 True |
| <= | 检查左操作数的值是否 小于或等于 右操作数的值,如果是,则条件成立,返回 True |
格式:表达式1 关系运算符 表达式2
功能:计算表达式1和表达式2的值
值:如果关系成立,则整个关系运算表达式的值为真,关系不成立,则整个关系运算表达式的值为假。
print(3 == 3) # 判断相等
print(3 != 2) # 判断不相等
print(3 >= 2)
print(3.0 == 3) # 浮点数和整数可以进行运算,结果为True
print(True == False) # bool值也可以进行运算,结果为False
print("hello" < "hell") # 字符串的比较运算:每个字符的ASCII码
逻辑运算符:
| 运算符 | 逻辑表达式 | 描述 |
|---|---|---|
| and | x and y | 只有x和y的值都为True,才会返回True,否则只要x或者y有一个值为False,就返回False |
| or | x or y |
只要x或者y有一个值为True,就返回True,只有x和y的值都为False,才会返回False |
| not | not x | 如果x为True,返回False,如果x为False,返回True |
# 与,并且and
print(1 == 1 and 2 == 2)
print('hello' and 'hi') # 短路运算 返回hi 前后两个表达式都为真,则返回后一个表达式
print(False and 'hi') # 前一个表达式为假,则直接返回前一个表达式False
print(0 and 1) # 前一个表达式为假,则直接返回前一个表达式0
# 或 or
print(1 != 1 or 1 == 1)
print(1 or 0)# 短路运算 表达式只要有一个为真,则返回这个真的表达式
# 非 not
print(not True)
优先级:
not > and > or
一元运算符的优先级较高
位运算符:
| 运算符 | 描述 | 功能 | 实例 |
|---|---|---|---|
| & | 按位与运算符 | 参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | 5&7 |
| | | 按位或运算符 | 参与运算的两个值,如果两个相应位有一个为1,则该位的结果为1,否则为0 | 5|7 |
| ^ | 按位异或运算符 | 参与运算的两个值,如果两个相应位不同时,则该位的结果为1,否则为0 | 5^7 |
| ~ | 按位取反运算符 | 对数据的每个二进制位进行取反操作,把1变为0,把0变为1 | ~5 |
| << | 左移运算符 | 运算数的各个二进制位全部向左移动若干位,由符号右侧的数字指定移动的位数,高位丢弃,地位补0 | 9<<2 |
| >> | 右移运算符 | 运算数的各个二进制位全部向右移动若干位,由符号右侧的数字指定移动的位数,低位丢弃,高位补0 | 9>>2 |
成员运算符:
| 运算符 | 描述 | 实例 |
|---|---|---|
| in | 如果在指定的序列中找到值返回True,否则返回False | 3 in(1,2,3)返回True |
| not in | 如果在指定的序列中没有找到值返回True,否则返回False | 3 in(1,2,3)返回False |
print('12' in '123')
print('hi' not in 'hello')
身份运算符:
| 运算符 | 描述 |
|---|---|
| is | 判断两个标识符是否引用同一个对象,是的话返回真,否则返回假 |
| is not | 判断两个标识符是否不是引用同一个对象,是的话返回真,否则返回假 |
a = 1
b = 1
print(a is b)
print(a is not b)
运算的优先级:
根据表格从上至下优先级依次递减
| 运算符 | 描述 |
|---|---|
| ** | 幂(最高优先级) |
| ~ + - | 按位取反、一元运算符(正负号) |
| * / % // | 乘、除、取余、取整 |
| + - | 加、减 |
| << >> | 左移、右移 |
| & | 按位与 |
| ` | ^` |
| > < >= <= | 比较运算符 |
| == != | 等于运算符 |
| = += -= *= /= %= //= **= | 赋值运算符 |
| is is not | |
| in not in | |
| not or and | 逻辑运算符 |
总结:

702

被折叠的 条评论
为什么被折叠?



