运算符的分类
- 算数运算符
- 赋值运算符
- 复合赋值运算符
- 比较运算符
- 逻辑运算符
- 三目运算符
- 位运算符
- 成员运算符
1、算术运算符
运算符 | 描述 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 整除 |
% | 取余数 |
** | 指数(2**4等于222*2) |
() | 小括号(用来提高运算优先级) |
2、赋值运算符
运算符 | 描述 |
= | 赋值 |
- 单个变量赋值
a=1
- 多个变量赋值
int1,float1,str1=3,3.3,'易烊千玺'
print(type(int1))
print(type(float1))
print(type(str1))
print(int1)
print(float1)
print(str1)
输出:
<class 'int'>
<class 'float'>
<class 'str'>
3
3.3
易烊千玺
- 多变量赋值
a=b=3(同时将3赋值给a和b)
3、复合赋值运算符
运算符 | 描述 |
+= | |
-= | |
*= | |
/= | |
//= | c//=a等价于c=c//a |
%= | |
**= | |
:= | 海象运算符,可在表达式内部为变量赋值 Python3新增的 |
Python的撤销和反撤销操作:
ctrl+z、shift+z
c=10
c+=1+2
print(c)
b=10
b*=1+2#b=b*(1+2)
print(b)
输出:
13
30
#先算复合赋值运算右边的表达式,之后再进行赋值运算
4、比较运算符
比较运算符也叫关系运算符,通常用来判断
运算符 | 描述 |
== | |
!= | |
> | |
< | |
>= | |
<= |
5、逻辑运算符
运算符 | 逻辑表达式 |
and | x and y(若x为false,则返回false,否则,返回y的值) |
or | 若x是true,则返回true,否则,返回y的值 |
not | 如果x为true,则返回false,若x为false,则返回true |
tips
- and运算符:只要有一个值为0,则结果为0,否则结果为最后一个非0数字
- or运算符:只有所有值为0结尾才为0,否则结果为第一个非0数字
print(1 and 0)
print(0 and 2)
print(1 or 0)
print(0 or 2)
输出:
0
0
1
2
- 运算优先级;()高于**高于* // / %高于+ -
6、三目运算符
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式
x=1
y=2
z=x if x>y else y
print(z)
输出:2
7、位运算符
按位运算符是把数字看做二进制来进行计算的。
运算符 | 描述 |
& | 按位与运算符:参与运算的两个值,如果两个相应位都是1,则该位为1,否则为0 |
‘竖杠’ | 按位或运算符:只要对应的两个二进位有一个1,结果为就为1 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1,。~x类似-x-1 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0 |
>> | 右移动运算符:把“>>”左边的运算符的各二进位全部右移若干位,“>>”右边的数指定移动的位数 |
8、成员运算符
运算符 | 描述 |
in | 如果在指定的序列中找到值True,否则返回False |
not in | 如果在指定的序列中没有找到值返回True,否则False |
9、身份运算符
身份运算符用于比较两个对象的存储单元
运算符 | 描述 |
is | is是判断两个标识符是不是引用自一个对象。x is y类似于id(x)==id(y) |
is not | is not是判断两个标识符是不是引用自不同对象,a is not b 类似于id(a)!=id(b) |