1.operator(运算符) python
python支持的运算符有:数学运算符、比较运算符、逻辑运算符、赋值运算符、(位运算)
1.数学运算符: +(加),-(减),(乘),/(除),//(整除),%(取余),*(幂运算)
+,-,*,/ 运算和数学运算一样!
// - 求商,结果只保留整数部分
print(5//2) # 2
print(4.2//2) # 2
% - 求余数
print(5 % 2) # 1
print(8 % 3) # 2
print(4 % 2) # 0
** - x ** y 求x的y次方
print(2 ** 3) # 2的3次方, 8
print(10 ** 3) # 10的3次方 1000
print(2*3**3) # 先算幂运算再算乘除
2.比较运算符: >, <, ==, !=, >=, <=
所有比较运算符的结果都是 bool 值
print(100 > 10) # True
print(100 > 100) # False
逻辑运算符优先级高于赋值符
result = 10 >= 1
print(result)
判断num是否在0到100之间
num = 10
print(0<num<100)
此比较方式目前仅python中存在
3.逻辑运算符: and, or, not
所有逻辑运算符的结果都是bool值,操作对象也是bool值
a.逻辑与运算: and
运算规则:两个都为True,结果才是True;只要有一个是False,结果都是False!
True and True == True
True and False == False
False and True == False
False and False == False
应用:
score = 90
age = 20
满足条件: 分数不低于90分并且年龄大于25岁
print(score>=90 and age>25)
判断num是否在0到100之间
num = 10
print(num>0 and num<100)
b.逻辑或运算: or
运算规则:只要其中一个是True,结果就是True!
True or True == True
True or False == True
False or True == True
False or False == False
应用: 要求有多个条件中至少有一个条件满足的时候,使用or将多个条件连接在一起
score1 = 80 # 学习成绩
score2 = 90 # 操评分
获取奖学金的条件: 学习成绩大于90分或者操评分大于95分
print('是否获得奖学金:',score1>90 or score2>95)
c.逻辑非运算: not
运算规则: True变False, False变True
not True == False
not False == True
应用: 对一个条件进行否定
进入网吧的条件: 年龄不小于18
age = 9
print('是否能进入网吧:', not age < 18)
print('是否能进入网吧:', age >= 18)
练习:获取奖学金的条件: 学习成绩大于90分或者操评分不低于80分,或者操评分不低于95分并且学习成绩大于75分
score1 = 80 # 学习成绩90分
score2 = 98 # 操评分90分
print('是否获得奖学金:',(score1>90 or (not score2<80) ) or ((not score2<95) and score1>75))
4.赋值运算符: =, +=, -=,*=, /=, //=, %=, **=
所有的赋值预算符左边要求必须是变量; 复合赋值运算符左边要求除了是变量以外,这个变量还必须已经赋过值
a. = : 直接将=右边的值赋给左边的变量
num = 100
num = 20 * 2
b. +=, -=, *=, /=, %=, **=
'变量 += 值' 相当于 '变量 = 变量+值'
赋值过程: 将原变量中的数据取出来,和后边的值相加,然后将最新的值重新赋给变量
num1 = 5
num1 += 4
print(num1)
num1 = 3
num1 *= 3
print(num1)
num1 /=9
print(num1)
5.运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
先算优先级高的,再算优先级低的.如果有括号,先算括号里面的
num = 10
num += 12 * 3
print(num) # num == 46
注意: 不要让数字参与逻辑运算,没有意义
print(10 and 3)
print(10 or 3)