运算符: 数学运算符、比较运算符、逻辑运算符、赋值运算、(位运算)
1. 数学运算符: +,-,,/,//,%,*
2. 比较运算符: >(大于), <(小于), ==(等于), !=(不等于), >=(大于等于), <=(小于等于)
所有的比较运算符的运算结果都是布尔值
print(100 > 10) # True
print(100 < 10) # False
print(100 == 10) # False
print(100 != 10) # True
print(100 >= 10) # True
print(100 >= 100) # True
python中支持数学中表示范围的写法
num = 1000
print(1<=num<=100) # False
print(1<num<100)
result = 200 > 100
print(result)
3.逻辑运算符: and(逻辑与运算), or(逻辑或运算), not(逻辑非运算)
所有逻辑运算符的运算对象都是布尔值,结果也是布尔值
1)逻辑与运算: 两个都是True结果才是True, 只要有一个是False结果就是False
Ture and Ture --> True
True and False --> False
False and True --> False
False and False --> False
当要求多个条件同时满足的时候,就将多个条件用and连接;相当于生活中的并且
练习: 获取奖学金的条件是:操评分不小于95分并且绩点不小于4.0
score = 98
grade = 4.5
print('是否能拿奖学金:', score >= 95 and grade >= 4.0)
练习: 判断age对应的人是否属于儿童(年龄大于等于3小于等于12)
age = 10
print('是否是儿童:', 3 <= age <= 12)
print('是否是儿童:', age >= 3 and age <= 12)
2)逻辑或运算: 两个都是False结果才是False, 只要有一个是True结果就是True
True or Ture --> True
Ture or False --> True
False or True --> True
False or False --> False
当要求多个条件中只要有一个条件满足的时候,就将多个条件用or连接; 相当于生活中的或者
练习: 获取奖学金的条件是:操评分大于95分或者绩点大于4.5
score = 98
grade = 3.5
print('是否能拿奖学金:', score > 95 or grade > 4.5)
练习: 获取奖学金的条件是:a.操评分大于95但是绩点不低于2.0 b.绩点大于4.5,操评分不低于80
# a和b有一个条件满足就可以拿奖学金
# a. score > 95 and grade >= 2.0
# b. grade > 4.5 and score >= 80
score = 98
grade = 1.5
print('是否能拿奖学金:', (score > 95 and grade >= 2.0) or (grade > 4.5 and score >= 80))
3)短路操作
条件1 and 条件2 -> 如果条件1的结果是False, 那么系统不会去判断条件2的结果,整个语句的结果直接变成False
条件1 or 条件2 -> 如果条件1的结果是True,那么系统不会去判断条件2的结果,整个语句的结果直接变成True
num1 = 10
def func1():
global num1
num1 += 10
return True
# func1()
True or func1()
print(num1)
4) 逻辑非运算: 布尔值取反,True变False, False变True
not True -> False
not False -> True
对某个条件进行否定的时候使用
年龄不大于18
age = 18
print(age <= 18)
print(not age > 18)
4. 赋值运算符: =, +=, -=, *=, /=, //=, %=, **=
所有的赋值运算符的左边必须是变量; 复合赋值运算符的左边要求除了是变量以外,这个变量还必须是已经声明过的变量
赋值符号的右边可以是数据、已经声明过的变量、运算表达式
name = '胡二'
sum1 = 10 + 23
age1 = age
变量 += 数据 -> 将变量中保存的值加上指定的数据,将结果重新保存到变量中
num2 = 10
num2 += 2 # num2 = num2 + 2
print(num2)
num2 *= 2 # num2 = num2 * 2
print(num2)
num2 /= 2
print(num2)
5. 运算符的优先级
数学运算 > 比较运算符 > 逻辑运算符(not > and > or) > 赋值运算符(最低)
先算优先级高的,再算优先级低的。有括号先算括号里面的
num3 = 10 + 2 > 9 and 3 * 2 < 4
# num3 = 10 + 2 > 9 and 6 < 4
# num3 = 12 > 9 and 6 < 4
# num3 = True and False
# num3 = False
print(num3)