Python_0基础:5.运算符

作者: liang_820 | 来源:发表于2022-05-23 14:37 被阅读0次

    一、算数运算符

    下面以a=10,b=20为例进行计算:

    运算符 描述 实例
    + 两个对象相加 a + b 输出结果 30
    - 得到负数 或 一个数减去另一个数 a - b 输出结果 -10
    * 两个数相乘 或 返回一个被重复若干次的字符串 a * b 输出结果 200
    / b / a 输出结果 2
    // 取整除 返回商的整数部分 9 / 2 输出结果 4 、 9.0 / 2.0 输出结果 4.0
    % 取余 返回除法的余数 b % a 输出结果 0
    ** 指数 a ** b 为10的20次方
    () 小括号 提高运算优先级,比如:(1+2)*3
    a = 3
    b = 2
    
    print(a + b)    # 5
    print(a - b)    # 1
    print(a * b)    # 6
    print(a / b)    # 1.5
    print(a // b)   # 1
    print(a % b)    # 1
    print(a ** b)   # 9
    print((5 + 1) * 2)  # 12
    

    扩展:

    字符串的加法,是进行拼接的

    # a = '123'
    b = '456'
    
    print(a + b)    # 123456
    

    在Python中,‘+’号两端都是字符串才可以进行加法运算

    a = '123'
    b = 456
    
    # print(a + b)    # 123456
    print(a + str(b))   # # 123456
    

    字符串的乘法,是将字符串重复多少次

    a = '我爱你 你爱我 蜜雪冰城甜蜜蜜'
    print(a * 3)    # 我爱你 你爱我 蜜雪冰城甜蜜蜜我爱你 你爱我 蜜雪冰城甜蜜蜜我爱你 你爱我 蜜雪冰城甜蜜蜜
    

    注意:混合运算时,优先级顺序为:**高于* / % //高于+ -,为了避免歧义,建议使用()来处理运算符优先级。

    并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。


    二、赋值运算符

    运算符 描述 实例
    = 赋值运算符 把 = 号右边的结果 赋给 左边的变量,如 num = 1+2*3 ,结果num的值为7
    • 单个变量赋值
    a = 10
    print(a)    # 10
    
    • 同时为多个变量赋值(使用等号连接)
    b = c = 20
    print(b)    # 20
    print(c)    # 20
    
    • 多个变量赋值(使用逗号分隔)
    d, e, f = 1, 2, 3
    print(d)    # 1
    print(e)    # 2
    print(f)    # 3
    

    三、复合赋值运算符

    运算符 描述 实例
    += 加法赋值运算符 c += a <==> c = c + a
    -= 减法赋值运算符 c -= a <==> c = c - a
    *= 乘法赋值运算符 c *= a <==> c = c * a
    /= 除法赋值运算符 c /= a <==> c = c / a
    //= 取整除赋值运算符 c //= a <==> c = c // a
    %= 取模赋值运算符 c %= a <==> c = c % a
    **= 幂赋值运算符 c * *= a <==> c = c * * a

    示例:

    • +=
    a = 1
    a += 2  # a = a + 2
    print(a)    # 3
    
    • -=
    c = 2
    c -= 1  # c = c -1
    print(c)    # 1
    
    • *=
    b = 1
    b *= 3  # b = b * 3
    print(b)    # 3
    
    • /=
    d = 3
    d /= 2  # d = d / 2
    print(d)    # 1.5
    
    • //=
    e = 3
    e //= 2     # e = e // 2
    print(e)    # 1
    
    • %=
    f = 3
    f %= 5  # f = f % 5
    print(f)    # 3
    
    • **=
    g = 5
    g **= 3  # g = g ** 3
    print(g)    # 125
    

    四、比较运算符

    比较运算符返回的都是Boolean类型的数据

    以下假设变量a为10,变量b为20:

    运算符 描述 实例
    == 等于:比较对象是否相等 (a == b) 返回 False
    != 不等于:比较对象是否不相等 (a != b) 返回 True
    > 大于:返回x是否大于y (a > b) 返回 False
    >= 大于等于:返回x是否大于等于y (a >= b) 返回 False
    < 小于:返回x是否小于y (a < b) 返回 True
    <= 小于等于:返回x是否小于等于y (a <= b) 返回 True
    • '==' 恒等 判断 == 两边的变量是否一致
    a = 10
    b = 20
    print(a == b)  # False
    
    • '!=' 不等 判断 != 两边的变量是否不一致
    a = 10
    b = 20
    print(a != b)  # True
    

    扩展:<> python 2版本使用,python 3遗弃

    • '>' 大于
    print(10 > 20)  # False
    print(10 > 5)   # True
    
    • '>=' 大于等于
    print(10 >= 10)     # True
    print(10 >= 20)     # False
    
    • '<' 小于
    print(10 < 20)      # True
    print(10 < 5)       # False
    
    • '<=' 小于等于
    print(10 <= 10)  # True
    print(10 <= 20)  # True
    

    五、逻辑运算符

    运算符 逻辑表达式 描述 实例
    and x and y 只要有一个运算数是False,结果就是False
    只有所有的运算数都为True,结果才是True
    做取值运算时,取第一个为False的值,如果所有的值都为True时,取最后一个值
    True and True and False 结果为False
    True and True True 结果为True
    or x or y 只要有一个运算数是True,结果就是True
    只有所有的运算数都为False时,结果才是False
    做取值运算时,取第一个为True的值,如果所有的值都为False时,去最后一个值
    False or False or True 结果为 True
    False or False or False 结果为False
    not not x 布尔“非”
    如果x为True,返回False;
    如果x为False,返回True
    not True 结果为 False
    • and 与

    and两边的数据,必须全都是True的时候,才会返回True;只要有一端返回的是False,那么就返回False。

    # and两边都是False的时候,返回的是False
    print(10 > 20 and 10 > 11)  # False
    
    # and一端是True,一端是False,返回的是False
    print(10 > 5 and 10 > 11)   # False
    
    # and一端是False,一端是True,返回的是False
    print(10 > 11 and 10 > 5)   # False
    
    # and两端都是True,则返回的是True
    print(10 > 5 and 10 > 6)    # True
    
    • or 或者

    or的两端只要一端是True,那么结果就是True

    # or两端都是False,则返回的是False
    print(10 > 20 or 10 > 21)   # False
    
    # or两端前面是True,后面是False,那么返回的是True
    print(10 > 5 or 10 > 20)    # True
    
    # or两端前面是False,后面是True,那么返回的是True
    print(10 > 20 or 10 > 5)    # True
    
    # or两端都是True,那么返回的是True
    print(10 > 5 or 10 > 6)     # True
    
    • not 非 取反
    print(not True)     # False
    print(not False)    # True
    
    print(not(10 > 20))  # True
    

    性能提升:

    面试题:以下代码的输出结果是什么,为什么会有这样的输出。

    a = 34
    
    a > 10 and print('hello world')
    a < 10 and print('hello world')
    
    a > 10 or print('你好,世界')
    a < 10 or print('你好,世界')
    
    • and的性能优化 短路与
    a = 36
    
    a > 10 and print('hello world')     # hello world
    
    # 当and前面的结果是False的情况下,那么后面的代码就不再执行了
    a < 10 and print('hello world')
    
    • or的性能优化 短路或
    # or只要有一方为True,那么结果就是True
    a = 38
    
    a > 39 or print('你好,世界')    # 你好,世界
    a > 37 or print('你好,世界')
    

    相关文章

      网友评论

        本文标题:Python_0基础:5.运算符

        本文链接:https://www.haomeiwen.com/subject/xtmrprtx.html