组团学

Python运算符与表达式

阅读 (124652)

一、表达式

  • 概念

    由变量、常量和运算符组成的式子称为表达式

  • 阅读表达式

    1、阅读表达式的功能

    2、阅读表达式的值

二、算术运算符

  • 算术运算符

    + - * / % // **
    取模 取整 求幂
  • 算术运算表达式

    功能:进行符号对象的算数运算,不会修改变量的值

    值:相关算数运算的结果

  • 代码

    print(5 + 2) print(5 - 2) print(5 * 2) print(5 / 2) print(5 % 2) print(5 // 2) print(5 ** 2)

三、赋值运算符

  • 赋值运算符

    =
    赋值
  • 赋值运算表达式

    格式:变量 = 表达式

    功能:计算等号右侧“表达式”的值,并赋值给等号左侧的“变量”

    值 :赋值结束后变量的值

  • 代码

    num3 = 10 num4 = num3 + 20 print('num4 = %d' % num4)

四、复合运算符

+= a += b 相当于 a = a + b
-= a -= b 相当于 a = a - b
*= a *= b 相当于 a = a * b
/= a /= b 相当于 a = a / b
%= a %= b 相当于 a = a % b
//= a //= b 相当于 a = a // b
**= a **= b 相当于 a = a ** b

五、位运算符

  • &

    按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

    ''' 0000 0101 0000 0111 -------------- 0000 0101 ''' print(5 & 7)
  • |

    按位或运算符:参与运算的两个值,如果两个相应位有一个为1时,则该位的结果为1,否则为0

    ''' 0000 0101 0000 0111 -------------- 0000 0111 ''' print(5 | 7)
  • ^

    按位异或运算符:参与运算的两个值,如果两个相应位不同时,则该位的结果为1,否则为0

    ''' 0000 0101 0000 0111 -------------- 0000 0010 ''' print(5 ^ 7)
  • ~

    按位取反运算符:对数据的每个二进制位进行取反操作,把1变为0,把0变为1

    ''' 0000 0101 -------------- 1111 1010 1000 0101 1000 0110 ''' print(~5)
  • <<

    左移动运算符:运算数的各二进制位全部向左移动若干位,由符号右侧的数字指定移动的位数,高位丢弃,低位补0

    ''' 0000 1001 ---------------- 0010 0100 ''' print(9 << 2)
  • >>

    右移动运算符:运算数的各二进制位全部向右移动若干位,由符号右侧的数字指定移动的位数,低位丢弃,高位补0

    ''' 0000 1001 ---------------- 0000 0010 ''' print(9 >> 2)

六、真值与假值

  • 假值(False)

    0 0.0 “” None False

  • 真值(True)

    除了假值就是真值

七、关系运算符

  • 关系运算符

    > < >= <= == !=
    大于 小于 大于等于 小于等于 等于 不等于
  • 关系运算表达式

    格式:表达式1 关系运算符 表达式2

    功能:计算表达式1和表达式2的值

    值 :如果关系成立,则整个关系运算表达式的值为真,关系不成立,则整个关系运算表达式的值为假

  • 代码

    print(1 > 0) print(1 > 2)

八、逻辑运算符

  • 逻辑与

    • 逻辑与运算符

      and

    • 逻辑与运算表达式

      格式:

      ​ 表达式1 and 表达式2

      ​ 表达式1 and 表达式2 and 表达式3 and …… and 表达式n

      功能:从左到右依次计算“表达式”的值,直到某一个“表达式”的值为假才停止计算

      值 :

      ​ 如果表达式1的值为真,表达式2的值为真,则整个表达式的值为真
      ​ 如果表达式1的值为真,表达式2的值为假,则整个表达式的值为假
      ​ 如果表达式1的值为假,表达式2的值为真,则整个表达式的值为假
      ​ 如果表达式1的值为假,表达式2的值为假,则整个表达式的值为假

      总结:有一个为假就为假

    • 代码

      print(1 and 0)
  • 短路原则

    从左到右依次计算“表达式”的值,直到某一个“表达式”的值为假才停止计算,后面的表达式不会在进行计算,但是python无法验证(在表达式中无法使用赋值)

  • 逻辑或

    • 逻辑或运算符

      or

    • 逻辑或运算表达式

      格式:

      ​ 表达式1 or 表达式2
      ​ 表达式1 or 表达式2 or 表达式3 or …… or 表达式n

      功能:从左到右依次计算“表达式”的值,直到某一个“表达式”的值为真才停止计算

      值 :

      ​ 如果表达式1的值为真,表达式2的值为真,则整个表达式的值为真
      ​ 如果表达式1的值为真,表达式2的值为假,则整个表达式的值为真
      ​ 如果表达式1的值为假,表达式2的值为真,则整个表达式的值为真
      ​ 如果表达式1的值为假,表达式2的值为假,则整个表达式的值为假

      总结:有一个为这就为真

    • 代码

      print(1 or 0)
  • 逻辑非

    • 逻辑非运算符

      not

    • 逻辑非运算表达式

      格式:not 表达式

      值 :

      ​ 如果“表达式”的值为真,则整个表达式的值为假
      ​ 如果“表达式”的值为假,则整个表达式的值为真

      总结:颠倒黑白

    • 代码

      print(not 0)

九、成员运算符

  • 符号

    in 如果在指定的序列中找到值则返回真,否则返回假
    not in 如果在指定的序列中找不到值则返回真,否则返回假
  • 格式

    x in seq

    x not in seq

    说明:x表示一个数据,seq表示一个集合

十、身份运算符

  • 符号

    is 判断两个标识符是否引用同一个对象,是的话返回真,否则返回假
    is not 判断两个标识符是否不是引用同一个对象,是的话返回真,否则返回假
  • 格式

    obj1 is obj2

    obj1 is not obj2

十一、运算符优先级

  1. **

  2. ~ + - 按位取反,一元运算符(正负号)

  3. * / % //

  4. + - 二元运算符

  5. << >>

  6. &

  7. | ^

  8. > < >= <=

  9. == !=

  10. += -= *= /= %= //= **=
  11. is is not

  12. in not in

  13. and or not

需要 登录 才可以提问哦