Python入门教程之逻辑运算符

Python入门教程:https://www.bilibili.com/video/BV1rmGczpEbG


逻辑运算符是用于逻辑运算的符号。


符号 描述
and 逻辑与
or 逻辑或
not 逻辑非

逻辑运算(基本)

逻辑运算就是布尔类型之间的运算

逻辑与

使用关键字"and"可以进行逻辑与运算,逻辑与运算即当两值均为True时结果为True,否则结果为False

python 复制代码
b1 = True and True
b2 = True and False
b3 = False and True
b4 = False and False

print(b1)  # True
print(b2)  # False
print(b3)  # False
print(b4)  # False

逻辑或

使用关键字"or"可以进行逻辑或运算,逻辑或运算即当两值存在True时结果为True,否则结果为False

python 复制代码
b1 = True or True
b2 = True or False
b3 = False or True
b4 = False or False

print(b1)  # True
print(b2)  # True
print(b3)  # True
print(b4)  # False

逻辑非

使用关键字"not"可以进行逻辑非运算,逻辑非运算即当值为True时结果为False,否则结果为True

python 复制代码
b1 = not True
b2 = not False

print(b1)  # False
print(b1)  # True

逻辑运算(扩展)

逻辑运算还可以扩展至其他类型

逻辑与

进行逻辑与运算时,会依据转换规则将前值视为布尔类型,如果被视为True则结果为后值,否则结果为前值

python 复制代码
b1 = 1 and 2  # True
b2 = 0 and 2  # False

print(b1)  # 2
print(b2)  # 0

逻辑或

进行逻辑或运算时,会依据转换规则将前值视为布尔类型,如果被视为True则结果为前值,否则结果为后值

python 复制代码
b1 = 1.0 or 2.0  # True
b2 = 0.0 or 2.0  # False

print(b1)  # 1.0
print(b2)  # 2.0

逻辑非

进行逻辑非运算时,会依据转换规则将值视为布尔类型,如果被视为True则结果为False,否则结果为True

python 复制代码
b1 = not '你好'  # True
b2 = not ''  # False

print(b1)  # False
print(b2)  # True

逻辑运算(短路)

进行逻辑与和逻辑或运算时,当前项满足一定条件,后项就不会执行

逻辑与

进行逻辑与运算时,如果前项为True则会执行后项,否则不会执行后项

python 复制代码
True and print(True)  # True
False and print(False)

进行逻辑与运算时,如果前项被视为True则会执行后项,否则不会执行后项

python 复制代码
1 and print(1)  # 1
0 and print(0)

逻辑或

进行逻辑或运算时,如果前项为False则会执行后项,否则不会执行后项

python 复制代码
True or print(True)
False or print(False)  # False

进行逻辑或运算时,如果前项被视为False则会执行后项,否则不会执行后项

python 复制代码
1 or print(1)
0 or print(0)  # 0
相关推荐
Kratzdisteln7 分钟前
【Python】绘制椭圆眼睛跟随鼠标交互算法配图详解
python·数学·numpy·pillow·matplotlib·仿射变换
maxruan16 分钟前
PyTorch学习
人工智能·pytorch·python·学习
ftpeak34 分钟前
JavaScript性能优化实战
开发语言·javascript·性能优化
唐古乌梁海38 分钟前
【python】在Django中,执行原生SQL查询
python·sql·django
一个很帅的帅哥1 小时前
JavaScript事件循环
开发语言·前端·javascript
驰羽1 小时前
[GO]gin框架:ShouldBindJSON与其他常见绑定方法
开发语言·golang·gin
程序员大雄学编程1 小时前
「用Python来学微积分」5. 曲线的极坐标方程
开发语言·python·微积分
Jose_lz2 小时前
C#开发学习杂笔(更新中)
开发语言·学习·c#
一位代码2 小时前
python | requests爬虫如何正确获取网页编码?
开发语言·爬虫·python
可触的未来,发芽的智生2 小时前
新奇特:神经网络速比器,小镇债务清零的算法奇缘
javascript·人工智能·python