zoukankan      html  css  js  c++  java
  • python基础-运算符

    一、算数运算

    + 加法运算符(如果是两个字符串之间进行加法运算,则会进行拼串操作)
    - 减法运算符
    * 乘法运算符(如果将字符串和数字相乘,则会对字符串进行复制操作,将字符串重复指定次数)
    / 除法运算符,运算时结果总会返回一个浮点类型
    // 整除,只会保留计算后的整数位,总会返回一个整型
    ** 幂运算,求一个值的几次幂
    % 取模,求两个数相除的余数
    

    运算完成时要将值赋值给变量,否则变量的值不会发生变化

    二、赋值运算

    赋值运算符
    =  将等号右侧的值赋值给等号左侧的变量
    +=    a += 5 相当于 a = a + 5 
    -=    a -= 5 相当于 a = a - 5 
    *=    a *= 5 相当于 a = a * 5 
    **=   a **= 5 相当于 a = a ** 5 
    /=    a /= 5 相当于 a = a / 5 
    //=   a //= 5 相当于 a = a // 5 
    %=   a %= 5 相当于 a = a % 5 
    
    • 验证:
    a =10
    a += 5 
    print(a)
    a -= 5 
    print(a)
    a *= 5 
    print(a)
    a **= 5 
    print(a)
    a /= 5 
    print(a)
    a //= 5 
    print(a)
    a %= 5 
    print(a)
    
    • 输出结果:
      在这里插入图片描述

    三、关系运算

    关系运算符
    关系运算符用来比较两个值之间的关系,总会返回一个布尔值
    如果关系成立,返回True,否则返回False
    >  比较左侧值是否大于右侧值
    >=  比较左侧的值是否大于或等于右侧的值
    <  比较左侧值是否小于右侧值
    <=  比较左侧的值是否小于或等于右侧的值
    ==  比较两个对象的值是否相等
    !=  比较两个对象的值是否不相等
    **相等和不等比较的是对象的值,而不是id**
     is 比较两个对象是否是同一个对象,比较的是对象的id
     is not 比较两个对象是否不是同一个对象,比较的是对象的id
    
      在Python中对字符串进行比较时,实际上比较的是字符串的Unicode编码,比较两个字符串的Unicode编码时逐位比较。
      利用该特性可以对字符串按照字母顺序进行排序。
    

    注意:如果不希望比较两个字符串的Unicode编码,则需要将其转换为数字然后再比较

    四、逻辑运算

    • not 逻辑非
      not可以对符号右侧的值进行非运算
          1. 对于布尔值,非运算会对其进行取反操作,True变False,False变True
          2.  对于非布尔值,先将其转换为布尔值,然后再取反
    
    • and 逻辑与
      and可以对符号两侧的值进行与运算
       只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
       Python中的与运算是短路的与,如果第一个值为False,则不再看第二个值
    
    • or 逻辑或
     or 可以对符号两侧的值进行或运算
       或运算两个值中只要有一个True,就会返回True
       Python中的或运算是短路的或,如果第一个值为True,则不再看第二个值
    
    • 非布尔值的与或运算(f非布尔值运算返回原数值)
    计算规则:对非布尔值进行与或运算时,将其当做布尔值运算,最终会返回原值。
    a.与运算的规则
        与运算是找False的,如果第一个值是False,则不看第二个值
        如果第一个值是False,则直接返回第一个值,否则返回第二个值
    b. 或运算的规则
        或运算是找True的,如果第一个值是True,则不看第二个值
        如果第一个值是True,则直接返回第一个值,否则返回第二个值
    
    • 短路与和短路或 验证
    print('短路与验证')
    result  = 0 and print('test')
    print(result)
    result  = 1 and print('test')
    print(result)
    print('='*40)
    print('短路或验证')
    result  = 0 or print('test')
    print(result)
    result  = 1 or print('test')
    print(result)
    print('='*40)
    
    • 运行结果:在这里插入图片描述

    五、条件运算(三元运算符)

    条件运算符(三元运算符)
    语法: 语句1 if 条件表达式 else 语句2
    执行流程:
      条件运算符在执行时,会先对条件表达式进行求值判断
          如果判断结果为True,则执行语句1,并返回执行结果
          如果判断结果为False,则执行语句2,并返回执行结果
    
    #例如下面的判断大小
    a = 30
    b = 50
    print('a的值比b大!') if a > b else print('b的值比a大!')
    
    

    六、运算优先级

    优先级从下向上依次递增
    在这里插入图片描述

  • 相关阅读:
    POJ3094 UVALive3594 HDU2734 ZOJ2812 Quicksum【进制】
    UVALive5583 UVA562 Dividing coins
    POJ1979 HDU1312 Red and Black【DFS】
    POJ1979 HDU1312 Red and Black【DFS】
    POJ2386 Lake Counting【DFS】
    POJ2386 Lake Counting【DFS】
    HDU4394 Digital Square
    HDU4394 Digital Square
    UVA213 UVALive5152 Message Decoding
    UVA213 UVALive5152 Message Decoding
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12755255.html
Copyright © 2011-2022 走看看