Python 运算符及其优先级总结大全(新手必收藏)

简介: Python 运算符及其优先级总结大全(新手必收藏)

一、算术运算符

算术运算符就是我们平常所说的加减乘除,但是Python里的算术运算符不仅仅只有这四个,还有取余运算、整除运算、乘方(幂)运算。image.png【1】print(1/3)的输出结果为0.3333333333333333,print(2/1)的输出结果为2.0


【2】2**0.5的意思是2的0.5次方,就是二次根号下2,math模块里面表示为sqrt(2)


【3】print(-3//2)的输出结果为-2(向下取整),而不是-1(向零取整)


【4】print(-2.5%2)的输出结果为1.5,其计算过程为向下取余得到-1.5,取绝对值得到1.5

二、比较运算符

比较运算符,顾名思义,就是用来比较两个对象的,一般用在循环语句中的循环终止判断条件或者在if-elif-else语句中,返回值是一个【1】布尔值。image.png【1】有些时候返回值True和False会被视为1和0,如print([1,2][1>2])的输出结果为1


【2】在一定范围内,整型与浮点型值相同用==去比较会输出True,但当值比较大的时候会输出False,这是由浮点数不准确导致的,print(1e+23 == 100000000000000000000000)输出的结果为False(顺便一提,科学计数法表示的是浮点数),print(1==1.0)输出True

三、赋值运算符

赋值运算符是给一个变量进行赋值时使用的,【1】赋值的方式有很多种,而且在Python3.8版本中还新增加了一种运算符——海象运算符。为什么叫它海象运算符呢?因为它横起来看就像一只海象的眼睛和长长的牙齿。image.png【1】赋值运算符还可以与位运算结合,即&=、|=、^=、~=、>>=、<<=

【2】下面的两段代码等价,但是上面的代码效率更高,代码量也更少!

if a:=1 : print('Yes')#'Yes'
a = 1
if a : print('Yes')#'Yes'

四、位运算符

位运算符或许听起来很神秘,看起来或许很难理解,其实吧,只要静下心来细细研读,还是可以弄明白的。位运算也没什么特定,就两点,一是比较难懂,二是运算速度快!为什么位运算符的名字这么奇怪嘞?‘位’是个什么意思呢?位运算是对数字的一种的运算,其本质是将十进制数字转化为二进制数字进行操作,这里涉及计算机的原理了,所以位运算非常快。所谓的‘位’就是二进制01数字串中0和1的位置的变化,具体看下表。

image.png【1】具体解释请参考这篇博客:Python学习中的“按位取反”笔记总结 - 逝水经年 - 博客园

【这里添加一些详细示例,供大家理解】

a = 25  #二进制为 0001 1001
b = 36  #二进制为 0010 0100
print(a&b)  #0
#按位与运算 ==> 0000 0000 (0的二进制)
print(a|b)  #61
#按位或运算 ==> 0011 1101 (61的二进制)
print(a^b)  #61
#按位异或运算 ==> 0011 1101 (61的二进制)
print(a<<2) #100
#左移运算 ==> 0110 0100 (100的二进制)
print(a>>2) #6
#右移运算 ==> 0000 0110 (6的二进制)
print(~a)   #-26
#按位取反运算 ==> 1 0001 1010 (-26的二进制)
print(~-a)  #24
#按位取反运算 ==> 0 0001 1000 ( 24的二进制)
#注:最左边单独的一位数字是符号位,1为负,0为正

五、逻辑运算符

逻辑运算符与我们在数学里面学的‘且’‘或’‘非’十分类似,【1】返回值一般为布尔值。image.png【1】当操作对象是具体的数字的时候返回值是具体的数,and若第一个数判断为False则返回第一个数,否则为第二个数(无论第二个数的True与False),or若第一个数判断为True则返回第一个数,否则为第二个数(无论第二个数的True与False)如print(1 and 0)输出结果为0


【2】print(not(1 and 0))的输出结果为True,(1 and 0)是用括号括起来了,算是一个整体

六、成员运算符

所谓成员运算符,就是判断一个元素是否在一个【1】序列中。image.png

七、身份运算符

身份运算符用于【1】比较两个对象的存储单元(是否引用自同一个对象),而不是简单地比较两个对象的类型或值!image.pngimage.png不同的运算符有不同的优先级,这就好比我们在数学中学到的,乘方运算的优先级大于乘除法,乘除法的优先级大于加减法,有括号的先算括号里的,这三点在Python的运算符优先级规则里也是相同的,但在这之外,Python运算符优先级规则里还有一些规则,毕竟Python的运算符的数量还不少,不过还是建议在优先级不清晰的时候打上括号,便于阅读和理解。

九、特别注意

这里会指出一些需要我们特别注意的地方。image.png


image.png

目录
相关文章
|
18小时前
|
Python
python一元运算符的应用
【4月更文挑战第12天】Python的一元运算符包括正号(+), 负号(-), 按位取反(~), 取绝对值(abs())和类型转换(int(), float(), str())。例如:`+a`使数值变正,`-a`变为负数,`~a`为按位取反,`abs(a)`获取绝对值,而`int(a)`, `float(a)`, `str(a)`则用于类型转换。示例代码展示了这些运算符的使用效果。
19 0
|
18小时前
|
Python
Python 三元条件运算符
Python 三元条件运算符
7 0
|
18小时前
|
Python 索引 C语言
Python3从零基础到入门(2)—— 运算符-3
Python3从零基础到入门(2)—— 运算符
|
18小时前
|
Python
Python3从零基础到入门(2)—— 运算符-2
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-2
|
18小时前
|
Python C语言 存储
Python3从零基础到入门(2)—— 运算符-1
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-1
|
18小时前
|
Python
【Python操作基础】——运算符
【Python操作基础】——运算符
|
18小时前
|
存储 运维 算法
python运算符详解(二)
python运算符详解(二)
|
18小时前
|
Python 容器
python运算符详解(一)
python运算符详解(一)
|
18小时前
|
运维 Shell Python
第四章 Python运算符与流程控制
第四章 Python运算符与流程控制
|
18小时前
|
JSON 数据格式 索引
python 又一个点运算符操作的字典库:Munch
python 又一个点运算符操作的字典库:Munch
34 0