day03-日常笔记(运算符)

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-日常笔记(运算符))