当前位置:   article > 正文

Python基础(1)——数字、赋值、逻辑、比较、关系、位等运算操作(and和&的区别)_python中关系运算和逻辑运算的结果是布尔值,其值为

python中关系运算和逻辑运算的结果是布尔值,其值为

目录

  1. 数字运算:+、-、*、/、//(整除)、%(取余)、**(幂次方)
  2. 赋值运算:+=、-=、*=、/=、**=、//=、%=
  3. 逻辑运算:and、or、not
  4. 比较运算:==、!=、>、<、>=、<=
  5. 关系运算:in/not in、is/is not
  6. 位运算:& 、| 、  ^ (异或) 、 ~ (取反) 、  >> (右移) 、 <<(左移)
  7. and和&的区别

1、数字运算

+、-、*、/、//(整除)、%(取余)、**(幂次方)

  1. >>> 1 + 2 # 加
  2. 3
  3. >>> 5 - 2 # 减
  4. 3
  5. >>> 2 * 3 # 乘
  6. 6
  7. >>> 6 / 3 # 除
  8. 2.0
  9. >>> 5 // 2 # 整除(商往小的取)
  10. 2
  11. >>> -9 // 2 # 整除(商往小的取)
  12. -5
  13. >>> 5 % 2 # 取余
  14. 1
  15. >>> 2 ** 3 # 幂次方
  16. 8

2、赋值运算

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

  1. >>> a=10
  2. >>> b=15
  3. >>> a += 2 # a=a+2,即a=10+2=12
  4. >>> print(a)
  5. 12
  6. >>> b -= 1 # b=b-1,即b=15-1=14
  7. >>> print(b)
  8. 14
  9. >>> b //= 2 # b=b//2,即b=14//2=7
  10. >>> print(b)
  11. 7
  12. >>> a **= 2 # a=a**2,即a=12**2=144
  13. >>> print(a)
  14. 144
  15. >>> a *= 2 # a=a*2,即a=144*2=288
  16. >>> print(a)
  17. 288
  18. >>> b /= 2 # b=b/2,即b=7/2=3.5
  19. >>> print(b)
  20. 3.5
  21. >>> b %= 2 # b=b%/2,即b=3.5%2=1.5
  22. >>> print(b)
  23. 1.5

3、逻辑运算 — 结果为布尔值(0为False,非0为True)

  • and:先判断第一个数是否为0,若为0,则结果为0;否则看第二个数,不管第二个数是多少,输出结果都是第二个数
  • or:先判断第一个数是否为0,不为0,则输出第一个数;若为0,则看第二个数,不管第二个数是多少,输出结果都是第二个数
  •  not:非0的数,结果为False;not 0,结果为True
  1. #and运算是与运算,只有所有都为True,and运算结果才是True
  2. >>> 1 and 2
  3. 2
  4. >>> 0 and 2
  5. 0
  6. >>> 5 > 3 and 3 > 1
  7. True
  8. #or运算是或运算,只要其中有一个为True,or运算结果就是True
  9. >>> 1 or 2
  10. 1
  11. >>> 0 or 3
  12. 3
  13. >>> 5>3 or 1>3
  14. True
  15. #not运算是非运算,它是一个单目运算符,把True变成False,False变成True
  16. >>> not 2
  17. False
  18. >>> not 0
  19. True
  20. >>> not 1>2
  21. True

4、比较运算

==、!=、>、<、>=、<=

  1. >>> 1 == 1
  2. True
  3. >>> 1 != 2
  4. True
  5. >>> 1 > 2
  6. False
  7. >>> 2 < 3
  8. True
  9. >>> 2 >= 1
  10. True
  11. >>> 3 <= 3
  12. True

5、关系运算

  • in、not in:判断的是 在与不在,返回的是布尔值
  • is、is not:判断的是 是否全等,不仅值相等,内存地址也要相等
  1. >>> 1 in (1,2,4)
  2. True
  3. >>> 2 not in (1,3,4)
  4. True
  5. >>> a=1
  6. >>> b=1
  7. >>> a is b
  8. True
  9. >>> c=[1,2]
  10. >>> d=[1,2]
  11. >>> c is d #'is'比较的是所有属性,包括地址,值等
  12. False
  13. >>> c==d #'=='比较的是值
  14. True

由此也可证明数字类型是不变量,列表类型是变量

6、位运算

  • &:二进制按位与
  • | :二进制按位或
  • ^ : 二进制按位异或
  • ~  :  取反,数值前面添个负号,在减1(先逐位取反,之后除去符号位,在逐位取反,末位加1)
  • >> : 右移 n 位,值缩小为原来的 1/2^n 倍
  • << :左移 m 位,值增大为原来的 2^m 倍
  1. >>> a=24 # 0001 1000
  2. >>> b=10 # 0000 1010
  3. >>> a & b # 0000 1000 = 8
  4. 8
  5. >>> a | b # 0001 1010 = 26
  6. 26
  7. >>> a ^ b # 0001 0010 相同为0,不同为1
  8. 18
  9. >>> ~ a # 前面先加 '-',再减 1(-24-1=-25)
  10. -25
  11. >>> a >> 2 # 右移两位,缩小4倍
  12. 6
  13. >>> a << 3 # 左移三位,扩大为原来的2的3次方倍(8)
  14. 192

7、and和&的区别

首先 & 是位运算符,and 是逻辑运算符(结果为布尔值,0为 True,非0为 False),所以在选择结构中常用 'and'。

举例1: 设a和b是两个整数,a=1,b=2

a&b     分析:a以二进制表示就是01,b以二进制表示就是10,故&的运算结果就是00,即十进制的0

a and b    分析:1是真,2也是真,故a and b是True(非0)

  1. >>> a=1
  2. >>> b=2
  3. >>> a & b
  4. 0
  5. >>> a and b
  6. 2

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/800057
推荐阅读
相关标签
  

闽ICP备14008679号