关注我,和我一起放下灵魂,让灵魂去搬砖。」



​Python入门基础教程-运算符_python

作者:一叶

介绍:放不下灵魂的搬砖者

全文共1712字,阅读全文需7分钟



学习Python,我们不只是说说而已

Python版本:3.8.0,开发工具:Pycharm

Python运算符主要分为算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、成员运算符、身份运算符、位运算符。





01

Python算术运算符


  • 普通算术运算符
1+ - * / :加减乘除
  • 特殊算术运算符

  • 取模(余) :%,返回除法的余数
  • 幂:**, 返回x的y次幂
  • 取整://, 返回商的整数部分(向下取整)

15%2 #输出结果是1  

22%10 #输出结果是0

32**3 #输出结果是8

411//2 #输出结果5  

5-7//2 #输出结果4



02

Python比较运算符


比较结果为布尔值,布尔值(Boolean Value)用 True 和 False 来表示。区分大小写


  • 等于: ==,比较两个对象是否相等
  • 不等于:!=,比较两个对象是否不相等
  • 大于: >,返回x是否大于y
  • 小于: <, 返回x是否小于y
  • 大于等于: >=,返回x是否大于等于y
  • 小于等于: <=,返回x是否小于等于y

11==2 #输出结果False
21!=2 #输出结果是True
31>2 #输出结果False
41<2 #输出结果True
51>=2 #输出结果False
61<=2 #输出结果True



03

Python赋值运算符



  • =, 直接赋值
  • 加法赋值:+=, y += x相当于 y = y+x
  • 减法赋值:-=, y -= x相当于 y = y-x
  • 乘法赋值:*=, y *= x相当于 y = y * x
  • 除法赋值:/=, y /= x相当于 y = y/x
  • 取模赋值:%=, y %= x相当于 y = y%x
  • 幂赋值:**=, y **= x相当于 y = y ** x
  • 取整赋值://=, y //= x相当于 y = y+x
  • 海象赋值::=, n:=len(a) 对n进行赋值,可在表达式内部使用(3.8版本新增)

1x=2, y=5
2y += x #输出结果y=7
3y -= x #输出结果y=3
4y *= x #输出结果y=10
5y /= x #输出结果y=2
6y %= x #输出结果y=1
7y **= x #输出结果y=25
8y //= x #输出结果y=2
9print(y:=len([1,2,3,4,5]) #输出5



04

Python逻辑运算符



  • 与:and,如果x为0/False,x and y 返回0/False,否则它返回y的计算值
  • 或:or,如果x是非0或非False,它返回x的值,否则它返回y的计算值。
  • 非:not, 如果x为True,返回False ;如果x为False,它返回True

1False and 2 #输出结果是False
21 and 2 #输出结果是3
3False or 3 #输出结果是3
41 or 3 #输出结果是1
5not 1 #输出结果是False
6not 0 #输出结果是True



05

Python成员运算符



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

1'a' in 'basic' #输出结果True21 not in [1,2,3,4,5] #输出结果False

「左右滑动查看更多」


06

Python身份运算符




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

1x=10,y=10
2x is y #输出结果True
3x is not y #输出结果False

注:is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。



07

Python位运算符




  • 按位与:&,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
  • 按位或:|,只要对应的二个二进位有一个为1时,结果位就为1。
  • 按位异或:^,当两对应的二进位相异时,结果为1
  • 按位取反:~,对数据的每个二进制位取反,即把1变为0,把0变为1
  • 左移:y<<x,把y的各二进位全部左移x位。移位时高位丢弃,低位补0
  • 右移:y>>x,把y的各二进位全部右移x位。

1x = 3       # 3 = 0000 0011
2y = 5 # 5 = 0000 0101
3z = 0
4z = x & y # z = 0000 0001 输出结果z=1
5z = x | y # z = 0000 0111 输出结果z=7
6z = x ^ y # z = 0000 0110 输出结果z=6
7z = ~x # z = 1111 1100 输出结果z=-4
8z = y << x # z = 0010 1000 输出结果40
9z = y >> x # z = 0000 0000 输出结果0

「左右滑动查看更多」

注:左移相当于乘以x个2,即y*2*2*2=40(x=3时),右移同理


08

Python运算符优先级(由高到低)



1**                          幂 (最高优先级)
2~ 按位取反
3* / % // 乘,除,取模,取整
4+ - 加法,减法
5>> << 右移,左移
6& 按位与
7^ | 按位异或、按位或
8<= < > >= 比较运算符
9<> == != 等于运算符
10= %= /= //= -= += *= **= 赋值运算符
11is/is not 身份运算符
12in/not in 成员运算符
13not/and/or 逻辑运算符
「左右滑动查看更多」

在Python做数据清洗的过程中,除位运算符外其他运算符均会高频使用,特别是逻辑、成员和身份运算符,合理使用会事半功倍!


下节将介绍Python六大数据类型

​Python入门基础教程-运算符_python_02