zoukankan      html  css  js  c++  java
  • python3笔记三:运算符与表达式

    一:学习内容

    • 算术运算符:+(加)、-(减)、*(乘)、/(除)、%(取模)、**(求幂)、//(取整)
    • 赋值运算符:=
    • 复合运算符:+=、-=、*=、/=、%=、**=、//=
    • 位运算符:&、、^、~、<<、>>
    • 关系运算符:==、!=、>、<、>=、<=
    • 逻辑运算符:and、or、not
    • 成员运算符:in、not in
    • 身份运算符:is、is not
    • 运算符优先级

    二:算术运算符

    表达式说明:由变量、常量和运算符组成的式子

    1.算术运算符:+(加)、-(减)、*(乘)、/(除)、%(取模)、**(求幂)、//(取整)

    2.算术运算表达式:功能:进行相关符号数学运算,不会改变变量的值;值:相关的数学运算结果

    3.举例

    num1 = 5
    num2 = 3
    print(num1 + num2)
    print(num1 - num2)
    print(num1 * num2)
    print(num1 / num2)
    print(num1 % num2)
    print(num1 ** num2)  #pow(5,3)
    print(num1 // num2)

    三:赋值运算符

    1.赋值运算符:=

    2.赋值运算表达式:格式:变量 = 表达式;功能:计算等号右侧"表达式"的值,并赋值给等号左侧的变量;值:赋值结束后变量的值

    3.举例

    num3 = 10
    num4 = num3 + 20

    四:复合运算符

    1.复合运算符:+=、-=、*=、/=、%=、**=、//=

    2.举例

    a = 1
    b = 2
    a += b  #a = a + b
    print("a1 =", a)
    a -= b  #a = a - b
    print("a2 =", a)
    a *= b  #a = a * b
    print("a3 =", a)
    a /= b  #a = a / b
    print("a4 =", a)
    a %= b  #a = a % b
    print("a5 =", a)
    a **= b #a = a ** b
    print("a6 =", a)
    a //= b #a = a // b
    print("a7 =", a)

    五:位运算符

    1.按位运算符是把数字看做二进制来进行计算

    2.&按位与运算符,相应的位数都为1,则该位结果为1,否则为0

    #5的二进制为101,7的二进制为111, 101&111=101即5
    print(5 & 7)

    3.按位或运算符,相应的位数都为0,则该位结果为0,否则为1

    #5的二进制为101,7的二进制为111, 101 | 111=111即7
    print(5 | 7)

    4.^按位异或运算符,相应的位数不同时,则该位结果为1,否则为0

    #5的二进制为101,7的二进制为111, 101 ^ 111=010即2
    print(5 ^ 7)

    5.~按位取反运算符

    #5的原码和补码:00000000 00000000 00000000 00000101
    #取反后补码:     11111111   11111111   11111111   11111010
    #补码的反码为: 10000000  00000000 00000000 00000101
    #反码的原码为: 10000000  00000000 00000000 00000110
    #即-6
    print(~5)

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

    #00000010
    #00001000
    print(2 << 2)

    7.>> 右移动运算符:各二进制位全部右移动若干位,由>>右侧的数字决定,低位丢弃,高位正数补0负数补1

    #00001101
    #00000011 正数的补码即原码,故为3
    print(13 >> 2)

    #10000000 00000000 00000000 00001101 -13原码
    #11111111 11111111 11111111 11110010 -13反码
    #11111111 11111111 11111111 11110011 -13补码
    #11111111 11111111 11111111 11111100 -13右移2位补码
    #10000000 00000000 00000000 00000011 -13右移2位反码
    #10000000 00000000 00000000 00000100 -13右移2位原码,即为-4
    print(-13 >> 2)

    六:关系运算符

    1.关系运算符:==、!=、>、<、>=、<=

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

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

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

    七:逻辑运算符

    1.逻辑与运算表达式:表达式1 and 表达式2

    值:如果表达式1和表达式2的值都为真,则值为真;如果表达式1或表达式2有一个是假,则值为假
    举例:

    num1 = 0
    num2 = 20
    if num1 and num2:
        print("真")

    if num1 + 1 and num2 + 1:
        print("真")

    #短路原则,只要遇到一个假就不会在计算后面的表达式了
    #表达式1 and 表达式2 and 表达式3 and ...

    2.逻辑或运算表达式:表达式1 or 表达式2

    值:如果表达式1和表达式2的值都为假,则值为假;如果表达式1或表达式2有一个是真,则值为真
    举例:

    num3 = 0
    num4 = 1
    if num3 or num4:
        print("真")

    #短路原则,只要遇到一个真就不会在计算后面的表达式了
    #表达式1 or 表达式2 or 表达式3 or ...

    3.逻辑非运算表达式:not 表达式1

    值:如果表达式1为假,则值为真;如果表达式1为真,则值为假
    举例:

    if not 0:
        print("真")

    八:成员运算符

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

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

    九:身份运算符

    1.is 判断两个标识符是不是引用同一个对象

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

    十:运算符优先级

    从上到下,优先级越来越小

    **
    ~、+(正号)、-(负号)
    *、/、%、//
    +、-
    >>、<<
    &
    ^、|
    <=、<、>、>=
    ==、!=
    =、%=、+=、-=、//=
    is、is not
    in、not in
    not、or、and

  • 相关阅读:
    小黄衫获奖感言
    原型设计
    20210326编程作业
    阅读任务
    准备工作
    cmd命令行批量修改文件名后缀
    【智能算法】模拟退火算法
    【智能算法】粒子群寻优算法
    【并行计算】基于OpenMP的并行编程
    Python科学计算——前期准备
  • 原文地址:https://www.cnblogs.com/miaomiaokaixin/p/11491379.html
Copyright © 2011-2022 走看看