介绍python主要的几种运算符的一些基本知识及优先级; 包括算术、比较、赋值、位、逻辑、成员、身份运算符。

目录

  • python 运算符
  • 1. 算术运算符
  • 2.比较运算符
  • 3.赋值运算符
  • 海象运算符
  • print(f”str”) 格式化字符串
  • 4.位运算符
  • 进制关系
  • 把 其它进制 转化为 十进制
  • 位运算符
  • 5.逻辑运算符
  • 6.成员运算符
  • 7.身份运算符
  • is 与 == 区别:
  • Python运算符优先级

python 运算符

本篇文章主要介绍一下python的运算符

3 + 2 = 5

“3” 和 “2” 被称为 操作数

“+” 就是一种 运算符

python3主要支持以下几种运算符

1. 算术运算符

运算符

作用



-


*


/


%(取模)

返回除法的余数

**


//

向下取整(不一定是int,还有可能是float,与分子分母数据类型有关

a = 9 % 4    # 取除法的余数
b = 9 ** 4   # 9的4次幂
c = 9 // 4   # 先做除法,再向下取整
d = -9 // 4
e = 9.0 // 4   #注意:// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
f = 9 // 4.0
-----------------------------

a = 1
b = 6561
c = 2
d = -3
e = 2.0
f = 2.0

2.比较运算符

运算符

功能

==

等于

!=

不等于

>

大于

<

小于

>=

大于等于

<=

小于等于

注意:返回结果是布尔值(True / False)

3.赋值运算符

运算符

功能

=

赋值

+=

加法赋值

-=

减法赋值

*=

乘法赋值

/=

除法赋值

%=

取模赋值

**=

幂赋值

//=

取整赋值

:=(海象运算符)

在表达式内为变量赋值

a += b 等价于 a = a + b
a -= b 等价于 a = a - b
同理以上
--------------------------------------------------------------------

海象运算符
a = (0,1,2,3,4,5,6,7,8,9,10,11)
if (n := len(a)) > 10:   #  n>10  为一个表达式,:=为变量n赋值
    print(f"The tuple is too long. ({n} elements, expected <= 10)")
    print("The tuple is too long. ({n} elements, expected <= 10)")

# run code---------------------------------------------------------
"The list is too long. (12 elements, expected <= 10)"
"The tuple is too long. ({n} elements, expected <= 10)"
# print(f(str))为格式化字符串

海象运算符

python既能被2整除又不能能被3整除程序 python能被3整除的数的和_运算符

print(f”str”) 格式化字符串

加 f 之后可以在字符串里面使用 花括号{ } 括起来的变量和表达式,如果字符串里面没有表达式,那么前面加不加 f 都一样。

4.位运算符

进制关系

把 其它进制 转化为 十进制

其它进制

方法

相应进制的数字表示

二进制

bin()

0b

八进制

oct()

0o

十进制

int()

十六进制

hex()

0x

二进制:满 2 进 1

0

1

10(满2, 1 + 1 =10)

11

100

101

110

111

1000

八进制

0

1

2

7

10

11

17

20

21

十进制:满 10 进 1
0

1

2

3

9

10

11

十六进制:满 16 进 1
0

1

2

3

9

A

B

C

D

E

F

10

11

12

19

1A

位运算符

位运算符是把数字当做 二进制 来计算的

  1. 先把其他进制转化为 二进制
  2. 二进制 计算之后返回 十进制 结果。

注:以下数字是二进制

a = 0001 1100

b = 0011 0100

a & b = 0001 0100

a | b = 0011 1100

a ^ b = 0010 1000 a = - 0001 1101

运算符

描述

二进制 1 和 0

&

按位与:都为 1,才为 1,否则为 0

1---1 → 1

1---0 → 0

0---1 → 0

0---0 → 0

|

按位或 :只要其中一个为 1 就位为1

1---1 → 1

1---0 → 1

0---1 → 1

0---0 → 0

^

按位异或:两个不同,结果才为1

1---1 → 0

1---0 → 1

0---1 → 1

0---0 → 0

~

按位取反:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1

1 → 0

0 → 1

<<

左移动:二进制数字全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

0011 1100<< 2 输出结果 240 ,二进制解释: 1111 0000

>>

右移动:把">>"左边的二进制数字全部右移若干位,">>"右边的数指定移动的位数

0011 1100>> 2 输出结果 15 ,二进制解释: 0000 1111

5.逻辑运算符

>>> 11 and 22  # 返回后一个True
22
>>> 22 and 11
11
-----------------------------
>>> 11 or 22  # 返回第一个为True
11
>>> 22 or 11
22
-----------------------------
>>> not 11
False
>>> not 22
False
>>> not 0
True

以下假设 a = 11, b = 22

运算符

逻辑表达式

描述

实例

and

x and y

"与" 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。

(a and b) 返回 22。

or

x or y

"或" 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。

(a or b) 返回 11。

not

not x

"非" 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

not(a and b) 返回 False

6.成员运算符

运算符

描述

实例

in

如果在指定的序列中找到值返回 True,否则返回 False。

x 在 y 序列中 , 如果 x 在 y 序列中返回 True。

not in

如果在指定的序列中没有找到值返回 True,否则返回 False。

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

7.身份运算符

身份运算符用于比较两个对象的 存储单元

运算符

描述

实例

is

is 是判断两个标识符是不是引用自一个对象

x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False

is not

is not 是判断两个标识符是不是引用自不同对象

x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

>>>a = [1, 2, 3] 
>>> b = a 

>>> b is a  
True 
>>> b == a 
True 

>>> b = a[:]  # 把 a 的第一个到最后一个list值全部赋值给 b

>>> b is a 
False 
>>> b == a 
True

Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符

描述

**

指数 (最高优先级)

~ + -

按位取反, 一元加号(正号)和一元减号(负号) (最后两个的方法名为 +@ 和 -@)

* / % //

乘,除,求余数和取整除

+ -

加法减法

>> <<

右移,左移运算符

&

位 'AND'

^ |

位运算符

<= < > >=

比较运算符

== !=

等于运算符

= %= /= //= -= += *= **=

赋值运算符

is is not

身份运算符

in not in

成员运算符

not and or

逻辑运算符