python基础篇学习(九)之运算符
一、算数运算符
# +-*/
print(5 + 5.5)
print(5 - 5.5)
print(5 * 5.5)
print(10 / 3)
print(10 // 3) # 地板除,只保留整数部分
print(10 % 3) # 取模,取余数
print(2 ** 2) # 2的2次方
print(2 ** 3) # 2的3次方
----------------------------------------------------------------
# 运行结果:
10.5
-0.5
27.5
3.3333333333333335
3
1
4
8
二、比较运算符
# > < = >= <= !=
print(20 > 18) # True
print(20 < 18) # False
print(18 == 18) # True
print(20 >= 18) # True
print(18 <= 18) # True
print(20 != 18) # True
----------------------------------------------------------------
# 运行结果:
True
False
True
True
True
True
三、逻辑运算符
1.and 逻辑与
and 有个偷懒原则,从前往后依次判断,在判断的过程中只要有一个条件不满足,就算后面还有其他的条件,也都不会再往后判断了
girl_friend = 'human'
gender = 'male'
age = 18
print(girl_friend == 'human' and gender == 'female' and 16 < age < 84)
----------------------------------------------------------------
# 运行结果:
False
2.not 逻辑非
age = 18
print(True)
print(not True)
print(not 16 < age < 84)
print(not 0)
print(not 100)
print(not None, not '', not [], not {})
----------------------------------------------------------------
# 运行结果:
True
False
False
True
False
True True True True
3.or 逻辑或
girl_friend = 'human'
gender = 'male'
age = 18
print(girl_friend == 'human' or gender == 'female' or 16 < age < 84)
----------------------------------------------------------------
# 运行结果:
True
4.三个逻辑运算符混在一起用
优先级(从高到低):not>and>or
# (True and True) or (False and False) or False
print(84 != 73 and not 22 > 22 or 31 == 27 and '小圆子' == '李白' or 18 > 20)
----------------------------------------------------------------
# 运行结果:
True
5.python中逻辑运算符对于变量的定义
1.若and 两边都为真,则返回第二个值,只要有假的值,则返回第一个假的值
2.若or 两边都为真,则返回第一个值,只要有假的值,则返回第二个假的值
3.not 数字在python中默认为真,那么not之后则返回false。
print(1 and 2)
print(2 and 0)
print(2 or 4)
print(2 or 0)
----------------------------------------------------------------
# 运行结果:
2
0
2
2
四、成员运算符
1.in
print('圆' in '小圆子你是个美女吧')
l = [1, 2, 3]
print(1 in l)
print(4 in l)
dic = {'name': '小圆子', 'age': 84}
print('小圆子' in dic)
print('name' in dic)
----------------------------------------------------------------
# 运行结果:
True
True
False
False
True
2.not in
print('圆' not in '小圆子你是个美女吧')
print(not '圆' in '小圆子你是个美女吧')
----------------------------------------------------------------
# 运行结果:
False
False
五、(拓展)位运算符
1.| 位或
按位或运算符|的运算规则是:两个二进制位有一个为 1 时,结果就为 1,两个都为 0 时结果才为 0
print(1 | 2)
----------------------------------------------------------------
# 运行结果:
3
2.& 位与
按位与运算符&的运算规则是:只有参与&运算的两个位都为 1 时,结果才为 1,否则为 0
print(1 & 2)
----------------------------------------------------------------
# 运行结果:
0
3.^ 异或
按位异或运算^的运算规则是:参与运算的两个二进制位不同时,结果为 1,相同时结果为 0
print(1 ^ 2)
----------------------------------------------------------------
# 运行结果:
3
4.~ 取反
按位取反运算符~为单目运算符(只有一个操作数),作用是对参与运算的二进制位取反
print(~ 2)
----------------------------------------------------------------
# 运行结果:
-3