Python学习笔记(六)----常用运算符及优先级
目录
常用运算符及优先级
1.算数运算符
1.1定义
用于处理四则运算的符号
1.2算数运算符的种类
运算符 | 描述说明 | 示例 | 结果 |
---|---|---|---|
+ | 加法 | 1+1 | 2 |
- | 减法 | 1-1 | 0 |
* | 乘法 | 2*3 | 6 |
/ | 除法 | 10/2 | 5.0 |
// | 整除 | 10//3 | 3 |
% | 取余 | 10%3 | 1 |
** | 幂运算 | 2**4 | 16 |
1.3算数运算符的优先级
- 第一级:幂运算
**
- 第二级:乘法
*
、除法/
、取余%
、整除//
- 第三级:加法
+
、减法-
2.赋值运算符
2.1定义
为变量进行赋值操作的运算符
2.2赋值运算符的种类
运算符 | 描述说明 | 示例 | 展开形式 |
---|---|---|---|
= | 简单的赋值运算 | x=y | x=y |
+= | 加赋值 | x+=y | x=x+y |
-= | 减赋值 | x-=y | x=x-y |
*= | 乘赋值 | x*=y | x=x*y |
/= | 除赋值 | x/=y | x=x/y |
%= | 取余赋值 | x%=y | x=x%y |
**= | 幂赋值 | x**=y | x=x**y |
//= | 整除赋值 | x//=y | x=x//y |
代码示例:
#Python支持链式赋值
a=b=c=521 #等于执行 a=521 b=521 c=521
print(a,b,c)
#Python支持系列解包赋值
a,b=10,20 #等于执行 a=10 b=20
print(a,b)
a,b=b,a #将b的值给a;a的值给b
print(a,b)
运行结果:
521 521 521
10 20
20 10
3.比较运算符
3.1定义
比较大小,比较真假的运算符,也称为关系运算符,比较的结果是布尔类型
3.2比较运算符的种类
运算符 | 描述说明 | 示例 | 展开形式 |
---|---|---|---|
> | 大于 | 98>90 | True |
< | 小于 | 98<90 | False |
== | 等于 | 98==90 | False |
!= | 不等于 | 98!=90 | True |
>= | 大于或等于 | 98>=90 | True |
<= | 小于或等于 | 98<=90 | True |
4.逻辑运算符
4.1 定义
对真和假两种布尔值进行运算,结果仍然是布尔值
4.2 逻辑运算符的种类
运算符 | 描述说明 | 示例 | 结合方向 |
---|---|---|---|
and | 逻辑与 | 表达式1and表达式2 | 从左到右 |
or | 逻辑或 | 表达式1or表达式2 | 从左到右 |
not | 逻辑非 | not表达式 | 从右到左 |
表达式1 | 表达式2 | 1and2 | 1or2 | not1 |
---|---|---|---|---|
T | T | T | T | F |
T | F | F | T | F |
F | F | F | F | T |
F | T | F | T | T |
and运算时,当第一个结果为False时,直接得出结果,不计算第二个表达式
or运算时,当第一个结果为True时,直接得出结果,不计算第二个表达式
5.位运算符
5.1定义
把数字看成二进制数进行运算
5.2位运算符的种类
按“位与” | 按“位或” | 按“异或” | 按“位取反” | 左移位 | 右移位 |
---|---|---|---|---|---|
& | 丨 | ^ | ~ | << | >> |
- 异或
^
:相同为0,不同为1 - 左移位
<<
:将一个二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右端(低位端)用0补充 - 右移位
>>
:将一个二进制数向右移动指定的位数,右边(低位端)溢出的位被丢弃,左端(高位端)的空位端,如果最高位是0(正数)左侧空位填0;如果最高位是1(负数),左侧空位填1
代码示例:
print('左移位:',4<<2) #表示4向左移动两位
print('右移位:',8>>2) #表示8向右移动两位
运行结果:
左移位: 16
右移位:2
6.运算符的优先级(上高下低)
运算符 | 描述说明 |
---|---|
** | 幂运算 |
~、+、- | 取反、正号、负号 |
*、/、//、% | 算数运算符 |
+、- | 算数运算符 |
<<、>> | 左移位和右移位 |
& | 按位与 |
^ | 异或 |
丨 | 按位或 |
<、<=、>、>=、!=、== | 比较运算符 |
= | 赋值运算符 |