美文网首页
day03-日常笔记(运算符)

day03-日常笔记(运算符)

作者: 馒头不要面 | 来源:发表于2018-12-26 20:05 被阅读0次

    python 运算符

    python 支持:数字运算符、比较运算符、逻辑运算符、赋值运算符、位运算符

    1.数学运算符:+(加),-(减),(乘),/(除),//(整除),%(取余),*(幂运算)

    • 其中+、-、*、/和数学中的加减乘除一模一样

      print(10 + 20)
      print(12.5 + 10)
      print(100 - 110)
      print(2 * 3)
      print(5 / 2)
      
    • //(整除),数字1//数字2 --> 让数字1除以数字2,结果只取整数部分

      print(5 // 2)  # 2
      
      练习,获取数字 234中的百位上的数 2
      print(234 // 100)
      
    • %(取余) ,求余数

      print(5 % 2)  # 求5除以2的余数
      print(10 % 4)  # 求10除以4的余数比较运算符、逻辑运算符、赋值运算符、位运算符
      
    应用一:获取一个数的个位数
    print(234 % 10)  # 4
    
    应用二:判断一个数的奇偶性,让这个数对二取余,然后看结果是0还是1
    print(20 % 2, 23 % 2, 3 % 2)  # 0  1  0  1
    
    • ** (幂运算),x**y,求x的y次方
    print(2 ** 3)
    print(10 ** 4)
    print(16 ** 0.5)  # x ** 0.5 == x ** (1 / 2) == x开平方
    print(8 ** (1 / 3))  # 8开立方
    

    注意:运算符的运算对象不一定非是数据,也可以是存数据的变量

    age = 18
    print(age + 10)
    

    2.比较运算符:> , < , == , != , >= , <=

    所有的比较运算符的结果都是布尔值
    print(10 > 20)
    print(10 < 20)
    print(10 == 20)
    print(10 != 20)
    print(10 >= 20)
    print(10 <= 20)
    
    age = 18
    print("是否成年:", age >= 18)
    
    补充:is的使用

    变量的三要素

    • 类型(变量中存储的数据的类型)
    • 值(变量存储的数据)
    • 地址(变量真正存储的内容)

    获取变量三要素的方法:

    • 类型 - type(变量)
    • 值 - 直接使用变量,就是使用值
    • 地址 - id(变量)
    num = 100
    
    print("变量num的类型:", type(num))
    print("变量num的值:", num)
    print("变量的地址:", hex(id(num)))
    

    == 和 is的区别

    • ==:判断的是值是否相等
    • is:判断的是地址是否相等
    list1 = [1, 2]
    list2 = [1, 2]
    list3 = list1  # 用一个变量给另一个变量赋值的时候iu,是将变量中储存的数据的地址赋值给它
    print(list1, list2)
    print(id(list1), id(list2))
    
    print(list1 == list2, list1 is list2)
    print(list1 == list3, list1 is list3)
    

    输出:

    [1, 2] [1, 2]
    140574734251208 140574734251272
    True False
    True True
    

    注意:

    python会对数字和字符串进行缓存,在申请内存空间的时候,会在缓存区先查找数据,如果没有数据,才会进行申请内存空间

    num1 = 1
    num2 = 1
    print(id(num1), id(num2))
    
    str1 = 'abc'
    str2 = 'abc'
    print(id(str1), id(str2))  
    

    输出:

    10943008 10943008
    140574765398872 140574765398872
    

    3.逻辑运算符:and(逻辑与) , or(逻辑或) , not(逻辑非)

    逻辑运算符的运算对象和运算结果都是布尔值

    • and - 如果两者都为True,结果就是True,否则结果是False,相当于生活中的并且

      短路操作:如果第一个条件为False,就不会再去判断后面的条件,直接返回False

      True  and True  -> True
      False and True  -> False
      True  and False -> False
      False and False -> False
      
      应用:要求多个条件同时满足的时候,就使用逻辑与运算

      练习:能拿奖学金的条件是成绩必须90分以上,并且测评分不能低于95

      grade = 90
      score = 95
      print("是否能拿奖学金", grade > 90 and score >= 95)
      
    • or - 如果两者都为False,结果为False,否则结果是Ture,相当于生活中的或者

      短路操作:若果第一个条件为True,就不会再去判断后面的条件,直接返回True

      True  or True  -> True
      False or True  -> True
      True  or False -> True
      False or False -> False 
      
      应用:要求多个条件中只要有一个条件满足,就使用逻辑或运算

      练习:如果考试成绩低于60分,或者不在班上就降班

      grade = 70
      is_inclass = True  # True代表在班级,False表示不在班级
      print("是否降班:", grade < 60 or not is_inclass)
      
    • not - 对结果取反,对值进行否定。

      not True  -> False
      not False -> True
      
      应用:否定某个条件

      年龄不小于10岁

      age = 20
      print(not age < 10)
      

    4.赋值运算符: = , += , -= , *= , /= , //= , %= , %= , **=

    要求: 所有的赋值运算符,赋值符号的左边必须是变量;右边必须有一个结果

    • a. 变量 = 结果 --> 将结果赋值给变量
      num = 100
      num2 = num  # 变量给变量赋值,赋的是变量的地址
      
    • b.+= , -= , *= , /= , //= , %= , %= , **=
      • 复合赋值运算符要求赋值符号的左边除了是变量,还要求这个变量已经被赋过值
      • 变量 += 数字 --> 变量 = 变量 + 数字(让变量的值加上指定的数字后的新值再重新赋值给原变量)
        num3 = 2
        num3 += 10  # num3 = num3 + 10
        print(num3)  # 12
        
        num3 -= 3  # num3 = num3 - 3
        print(num3)  # 9
        

    5.运算符的优先级

    • 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
    • 数学运算中:** > *,/,%,// > +,-
    • 优先级高的先算,优先级低的后算。如果有(),先算()里面的
    • 布尔中的True == 1,False == 0

    相关文章

      网友评论

          本文标题:day03-日常笔记(运算符)

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