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

目录
相关文章
|
1月前
|
Python
Python运算符优先级
Python运算符优先级。
22 3
|
1月前
|
Python
Python成员运算符
Python成员运算符
27 2
|
1月前
|
Python
Python身份运算符
Python身份运算符。
23 1
|
1月前
|
Python
Python赋值运算符
Python赋值运算符。
25 2
|
1月前
|
Python
Python比较运算符
Python比较运算符。
28 2
|
2月前
|
Python
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
本篇将详细介绍Python中的运算符,包括数学运算、关系运算、逻辑运算、赋值运算和成员运算等内容。同时会说明运算符的优先级和运算顺序,帮助用户理解和掌握Python中的运算符使用规则。
41 3
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
|
2月前
|
自然语言处理 Python
【python从入门到精通】-- 第三战:输入输出 运算符
【python从入门到精通】-- 第三战:输入输出 运算符
72 0
【python从入门到精通】-- 第三战:输入输出 运算符
|
2月前
|
存储 Java 编译器
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
这篇文章是关于Python编程语言中变量命名规则、基本数据类型、算数运算符、比较运算符、逻辑运算符、赋值运算符以及格式化输出与输入的详细教程。
24 0
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
|
2月前
|
消息中间件 存储 NoSQL
python 使用redis实现支持优先级的消息队列详细说明和代码
python 使用redis实现支持优先级的消息队列详细说明和代码
44 0
|
2月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
23 0

热门文章

最新文章