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

Python算术运算符

  • 普通算术运算符

1+ - * / :加减乘除
  • 特殊算术运算符
    • 取模(余) :%,返回除法的余数
    • 幂:**, 返回x的y次幂
    • 取整://, 返回商的整数部分(向下取整)

15%2 #输出结果是1  
22%10 #输出结果是0
32**3 #输出结果是8
411//2 #输出结果5  
5-7//2 #输出结果4

 

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

  

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进行赋值,可在表达式内部使用
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

  

 

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

  

Python成员运算符

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

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

  

Python身份运算符

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

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

  

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

 

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时),右移同理

 

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

 

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

  

posted @ 2019-12-25 09:45  python大师  阅读(471)  评论(0编辑  收藏  举报