12.26 笔记-python运算符

python支持数学运算符,逻辑运算符,比较运算符,赋值运算符,位运算符


1.数学运算符:

  • +(加),-(减),(乘),/(除),//(整除),%(取余),*(幂运算)

+,-,*,/ 和数学中的加减乘除一样

print(10 + 20)
print(12.6 + 5)
print(100 - 110)
print(2 * 3)
print(5 / 2) # 能整除就是整数,不能整除就是小数

//(整除),数字1//数字2 --> 让数字1除以数字2,结果只取整数部分

print(5 // 2) # 2
print(6.3 // 2) # 2.0
# 练习,获取数字234中的百位上的数
print(234 // 100) # 2

%(取余),求余数

print(5 % 2) # 1 求5除以2的余数
#应用一:获取一个数的个位数
print(234 % 10) # 4
#应用二:判断奇偶性,对2取余,得1为奇数,得0为偶数
print(20 % 2, 23 % 2, 22 % 2, 3 % 2)

*(幂运算),x*y,求x的y次方

print(2 ** 3)
print(10 ** 0.5) # 开平方
print(8 ** (1/3)) # 开立方

不一定数据,也可以是存数字的变量

age = 18
print(age + 10) # 28 

2.比较运算符:

  • >(大于), <(小于), ==(等于), !=(不等于) , >=(大于等于), <=(小于)

所有的比较运算符的结果都是布尔值

print(10 > 20) # False
print(10 < 20) # True 
print(10 == 20) # False
print(10 == 10) # True
print(10 != 20) # True
print(10 != 10) #False
print(10 >= 20) #False
print(20 >= 20) #True

变量的要素

变量的要素
类型(变量中存储的数据的类型) 赋值时数据的类型 type(变量)
值(变量中存储的数据的值) 直接使用变量,就是使用值()
地址(变量真正存储的内容) 地址:id(变量),每个内存的编号
num=100
print(type(100), num, id(num)) # return  100 4468906160

补充:is的使用, == 与 is 的区别 (应付面试)

  • ==判断值相等,is判断地址是否相等
# 举例:
list1 = [1, 2]
list2 = [1, 2]
print(list1 == list2, list1 is list2) # return True False
list3 = list1 # 一个变量给另一个变量赋值的时候,是将变量中存储的数据的地址赋给另外一个变量
print(list3 == list1, list3 is list1) # return True True
  • 特例:数字和字符串是特殊情况,数字和字符串在内存里有缓存空间,每次赋值的时候,先在缓存区里找,若有,则直接拿缓存区里的地址,若无,则开辟新的内存空间
num1 = 100
num2 = 100
print(num1 is num2) # return True

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

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

and 逻辑与运算规则:值1 and 值2 若两个都为True,则为True,否则为False,相等于生活逻辑中的‘并且’。

  • 短路操作,若第一个条件是False,就不会去判断第二个条件,就直接让整个与运算的结果为False。

True and True return True
True and False return False
False and True return False 
False and False return False
  • 实际应用:要求多个条件同时满足的时候,就使用逻辑与运算
  • 练习:能拿奖学金的条件是成绩必须90分以上并且测评分不能低于95
grade = 91
score = 95
print('是否能拿奖学金',grade > 90 and score >= 95) # return 是否能拿奖学金 True

or 逻辑或运算规则:值1 and 值2 若两个都为False ,结果才为False,否则都为True,相当于生活逻辑中的'或者'。

  • 短路操作,若第一个条件是True,就不会区判断第二个条件,就直接让整个或运算结果为False

True or True return True
False or True return True
True or False return True
False or False return False
  • 实际应用:要求多个条件只要有一个条件满足的时候,就是使用逻辑或运算
  • 练习:降班的条件是考试成绩小于60分或者上课不听讲
grade = 70
is_sent_to_lower_grade = True # True代表不在班级,False代表在班级
print('是否降班', grade < 60 or is_sent_to_lower_grade is True) # return 是否降班 True

not逻辑非规则:not 值1 对值的结果进行否定或者取反。

not True return False
not False return True
  • 实际应用:否定某个条件
  • 练习:年龄不小于十岁
age = 20
print('年龄不小于10岁', not age < 10) # return True

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

用来给变量赋值,赋值符号的左边必须是变量,右边必须是有结果

  • 变量 = 结果 --> 将结果赋给变量
  • +=, -=, /=, //=, %=, **=
  • 复合赋值运算符要求赋值符号的左边除了变量以外,还要求这个变量已经被赋过值
  • 变量 += 数字 --> 变量 = 变量 + 数字 (将变量原来的值加上指定的数字以后的新值再重新赋给变量)
  • 变量要提前赋值
num3 += 10 # return NameError: name 'num3' is not defined 要提前赋值
num3 = 2
num3 += 10
print(num3) #return 12
num3 -= 3
print(num3) #return 9

5.运算符的优先级(复合运算)

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

  • 优先级高的先算,优先级低的后算
  • 如果有括号(),先算括号()里面的
print(19 + 20 > 6 ** 2 + 4  or 10 + 3 < 3 * 3 ) # return False
  • 布尔中的True == 1, Flase == 0
print(True + 10) # return 11
print(False + 10) # return 10

你可能感兴趣的:(12.26 笔记-python运算符)