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

目录
相关文章
|
28天前
|
机器学习/深度学习 算法 PyTorch
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
|
21天前
|
机器学习/深度学习 算法 PyTorch
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
|
5月前
|
人工智能 Python
Python 中的 `and`, `or`, `not` 运算符
本文介绍了 Python 中的逻辑运算符 `and`、`or` 和 `not` 的基本用法及其特性。这些运算符主要用于布尔运算,特别是在条件判断和循环中非常有用。文章详细解释了每个运算符的功能,例如 `and` 检查所有表达式是否为真,`or` 检查是否有任意一个表达式为真,`not` 用于取反。此外,还提到这些运算符支持短路特性,并可应用于非布尔值场景。掌握这些运算符有助于编写更高效、简洁的代码。
359 11
|
8月前
|
知识图谱 Python
Python入门:4.Python中的运算符
Python是一间强大而且便捷的编程语言,支持多种类型的运算符。在Python中,运算符被分为算术运算符、赋值运算符、复合赋值运算符、比较运算符和逻辑运算符等。本文将从基础到进阶进行分析,并通过一个综合案例展示其实际应用。
|
12月前
|
Python
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
本篇将详细介绍Python中的运算符,包括数学运算、关系运算、逻辑运算、赋值运算和成员运算等内容。同时会说明运算符的优先级和运算顺序,帮助用户理解和掌握Python中的运算符使用规则。
127 3
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
|
11月前
|
Python
Python运算符优先级
Python运算符优先级。
104 2
|
11月前
|
Python
Python成员运算符
Python成员运算符
99 2
|
11月前
|
Python
Python赋值运算符
Python赋值运算符。
99 2
|
11月前
|
Python
Python比较运算符
Python比较运算符。
112 2
|
11月前
|
Python
Python身份运算符
Python身份运算符。
94 1

推荐镜像

更多